当前位置:首页 » 编程语言 » 队列的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--;
}
热点内容
安卓分屏怎么 发布:2024-12-15 22:56:00 浏览:172
安卓哪个天气预报不错 发布:2024-12-15 22:52:12 浏览:39
网址导航源码下载 发布:2024-12-15 22:43:26 浏览:489
linux自动更新 发布:2024-12-15 22:41:41 浏览:758
小米盒子怎么查看配置 发布:2024-12-15 22:33:29 浏览:632
怎么才能破wifi密码 发布:2024-12-15 22:30:53 浏览:300
WE编程 发布:2024-12-15 21:46:11 浏览:194
安卓手机电脑端哪个软件好用 发布:2024-12-15 21:46:07 浏览:498
手游编程教学 发布:2024-12-15 21:45:17 浏览:931
华为手机的锁屏和密码在哪里找得到 发布:2024-12-15 21:37:41 浏览:106