重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
pq-rear-next
创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站建设、成都网站制作、寿县网络推广、重庆小程序开发公司、寿县网络营销、寿县企业策划、寿县品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供寿县建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
=
pnew这个代码从队列的尾部增加新节点,
然后友核pq-rear
=
pnew更新队列尾部指针。队列的数据结构形式就是由一个头front指针,一个尾rear指针来表征,items的设计是用空间换时间,涉及队码腊列大小的操作会非常方便。
队列的特征是先进先出,你给出的链式实现,其实就跟一个链表一样,链表的添加删除如果能理解了,队列只是链表的元素增加/删除
按先进先出特点的一种实现。
但对于队列来说,实现方式不是重点,先进先出的性质才是重点好模掘,这在实际应用中很多,比如排队叫号。
q.push(m); // queue是C++STL模板库的东西,需要使用push来插入元素,详细信核粗余息你可以参考MSDN来了解其使用改滚及凳袭内容。
这样的话应该符合你的要求:
#includestdio.h
void add(int queue[],int x);
int Top(int queue[]);
void del(int queue[]);
int end=0;
int main()
{
int n;
scanf("%d",n);//将要入队列n个元素
int queue[1000];
for(int i=1;i=n;i++)//输入n个元素
{
add(queue,i);//将i加入队列
}
//验证加入队列的元素,将队列中的元素按照输入的顺序输出:
for( i=1;i=n;i++)
{
printf("%d ",Top(queue));//Top函数返回队头元素
del(queue);//删手碧除队头元素
}
//验证输出已经出队列后的队列(数组)元素:
printf("\n");
for(i=1;i=n;i++)
printf("%d ",queue[i]);
printf("\n");
毕伏举return 0;
}
void add(int queue[],int x)
{
queue[++end]=x;
}
int Top(int queue[])
{
return queue[1];//注意,这里的函数始终return queue[1];这里是和将普通数组中厅轮的元素输出最大的不同之处。!!!!!!
}
void del(int queue[])
{
for(int i=2;i=end;i++)
{
queue[i-1]=queue[i];
}
queue=0;//将删除后的地方置0
end--;
}