当前位置:首页 » 编程语言 » 队列的c语言实现

队列的c语言实现

发布时间: 2024-12-15 20:36:55

‘壹’ C语言中使用队列

如果你用vc,#include<deque>就好了,但是注意要加上using naemspace std;
我是当你用的c++的STL,STL中没有真正的队列和栈,他们都是通过对双端队列的改造得到的,所以包含的文件可能和你想的不一样。而且这些头文件都没有.h结尾!很特别
如果你不是vc,当我没说

‘贰’ C语言用数组实现循环队列的入队出队

//定义一个int型数组que,长度为N(常量切大于2).
intque[N];
intrear=0,front=0;//队尾队头

判断队列已满:

if((front+1)%N==rear%N)//成立则队列已满

判断队列为空

if((rear==front))//成立则队列空

入队(一般在入队前判断队列是否已满)

//将val入队
que[front++]=val;
front%=N;

出队(一般在出队前判断队列是否为空)

rear=(rear+1)%N;

下一个要出队的元素(一般先判断是否为空)

que[rear];

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

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

#include<stdio.h>
voidadd(intqueue[],intx);
intTop(intqueue[]);
voiddel(intqueue[]);
intend=0;
intmain()
{
intn;
scanf("%d",&n);//将要入队列n个元素
intqueue[1000];
for(inti=1;i<=n;i++)//输入n个元素
{
add(queue,i);//将i加入队列
}
//验证加入队列的元素,将队列中的元素按照输入的顺序输出:
for(i=1;i<=n;i++)
{
printf("%d",Top(queue));//Top函数返回队头元素
del(queue);//删除队头元素
}
//验证输出已经出队列后的队列(数组)元素:
printf(" ");
for(i=1;i<=n;i++)
printf("%d",queue[i]);
printf(" ");
return0;
}
voidadd(intqueue[],intx)
{
queue[++end]=x;
}
intTop(intqueue[])
{
returnqueue[1];//注意,这里的函数始终returnqueue[1];这里是和将普通数组中的元素输出最大的不同之处。!!!!!!
}
voiddel(intqueue[])
{
for(inti=2;i<=end;i++)
{
queue[i-1]=queue[i];
}
queue[end]=0;//将删除后的地方置0
end--;
}
热点内容
ac68u外网访问 发布:2025-09-17 05:33:12 浏览:900
真我手机如何修改登录密码 发布:2025-09-17 05:20:26 浏览:313
电脑配置怎么说 发布:2025-09-17 04:37:45 浏览:1001
三质数编程 发布:2025-09-17 04:04:41 浏览:559
ftp服务器密码如何修改 发布:2025-09-17 03:48:07 浏览:303
python爬虫豆瓣 发布:2025-09-17 03:41:59 浏览:210
我的世界国际版加入服务器电脑版 发布:2025-09-17 03:41:14 浏览:941
附件上传相片 发布:2025-09-17 03:39:53 浏览:442
微信账号密码组合是什么 发布:2025-09-17 03:30:05 浏览:400
windows如何查看ftp安装环境 发布:2025-09-17 03:30:02 浏览:918