c语言队列成员查询函数,C语言 队列

c语言队列操作

pq-rear-next

成都创新互联公司长期为近1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为单县企业提供专业的网站设计、成都网站制作,单县网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。

=

pnew这个代码从队列的尾部增加新节点,

然后pq-rear

=

pnew更新队列尾部指针。队列的数据结构形式就是由一个头front指针,一个尾rear指针来表征,items的设计是用空间换时间,涉及队列大小的操作会非常方便。

队列的特征是先进先出,你给出的链式实现,其实就跟一个链表一样,链表的添加删除如果能理解了,队列只是链表的元素增加/删除

按先进先出特点的一种实现。

但对于队列来说,实现方式不是重点,先进先出的性质才是重点,这在实际应用中很多,比如排队叫号。

C语言,用数组实现队列的入队,出队函数编程

这样的话应该符合你的要求:

#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--;

}

队列的建立与查询【用C语言编写的完整程序(包括main()函数】

我的理解是 你想用数组模拟 队列?不是的话下面不用看,回复我给我再说一下题意,我重新给你写!

首先输入一个操作,1入队,2出队,3退出

如果是1,再输入一个将要入队列的 数据,

#include stdio.h

#include stdlib.h

#include string.h

#define LEN 1000

int queue[LEN], fir, end;

void printQueue()

{

int i = 0;

for(i = fir; i end; ++ i)

{

printf("%d ", queue[i]);

}

printf("\n");

}

void insertQueue()

{

int value = 0, i = 0;

printf("Enter the data which you want to insert to queue...\n");

scanf("%d", value);

queue[end ++] = value;

printQueue();

}

void deleteQueue()

{

printf("after delete the top data!\n");

fir ++;

printQueue();

}

void demo()

{

int Number = 0;

while(1)

{

printf("Enter the number:\n");

printf("1.insert...\n");

printf("2.delete...\n");

printf("3.exit!\n");

scanf("%d", Number);

if(Number 1 || Number 4) return;

switch(Number)

{

case 1: insertQueue(); break;

case 2: deleteQueue(); break;

case 3: exit(0);

default: return;

}

}

}

void creatQueue()

{

int i = 0;

fir = 0, end = 0;

for(i = 0; i LEN; ++ i)

{

queue[i] = 0;

}

}

int main()

{

creatQueue();

demo();

return 0;

}

c语言调用队列库函数

q.push(m); // queue是C++STL模板库的东西,需要使用push来插入元素,详细信息你可以参考MSDN来了解其使用及内容。

C语言 队列queue问题,看不懂函数,在线等

int Succ (int Value, Queue Q )

Value 是 要插到哪里去

如果value太大,大于队列的容量,就让他插到队列的头去,重头再来一遍。懂了没?


文章名称:c语言队列成员查询函数,C语言 队列
本文网址:http://myzitong.com/article/hddigh.html