当前位置:首页 » 编程语言 » 队列的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--;
}
热点内容
如何清理安卓手机听筒里的灰 发布:2025-03-12 20:59:37 浏览:223
网络缓存级别那个最好 发布:2025-03-12 20:56:34 浏览:561
苹果手机如何蓝牙给安卓传输文件 发布:2025-03-12 20:55:01 浏览:345
百度电脑硬件如何配置 发布:2025-03-12 20:53:30 浏览:754
创建临时表sql 发布:2025-03-12 20:41:32 浏览:722
我的电子账号和密码是多少 发布:2025-03-12 20:35:13 浏览:765
android取系统时间 发布:2025-03-12 20:30:00 浏览:253
win8同步文件夹 发布:2025-03-12 20:27:57 浏览:869
爱加密漏洞 发布:2025-03-12 20:09:43 浏览:870
高斯速算法 发布:2025-03-12 20:09:33 浏览:32