當前位置:首頁 » 編程語言 » 隊列的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-09-17 03:41:14 瀏覽:932
附件上傳相片 發布:2025-09-17 03:39:53 瀏覽:435
微信賬號密碼組合是什麼 發布:2025-09-17 03:30:05 瀏覽:392
windows如何查看ftp安裝環境 發布:2025-09-17 03:30:02 瀏覽:910
java培訓機構推薦 發布:2025-09-17 03:20:58 瀏覽:85
開伺服器時如何開pvp 發布:2025-09-17 03:02:23 瀏覽:969
安卓手機序列號a開頭什麼意思 發布:2025-09-17 02:59:26 瀏覽:689
機房電腦重裝以後伺服器不能識別 發布:2025-09-17 02:59:17 瀏覽:157
百度雲伺服器主機地址 發布:2025-09-17 02:59:17 瀏覽:55
dijkstra演算法過程圖解 發布:2025-09-17 02:50:46 瀏覽:313