當前位置:首頁 » 編程語言 » 隊列的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--;
}
熱點內容
phpfile亂碼 發布:2025-07-16 03:57:54 瀏覽:93
手機存儲空間擴容 發布:2025-07-16 03:52:07 瀏覽:860
小米4清除緩存 發布:2025-07-16 03:03:17 瀏覽:562
如何緩解壓力英語作文 發布:2025-07-16 03:03:15 瀏覽:14
手機視頻怎麼緩存 發布:2025-07-16 02:59:05 瀏覽:932
安卓手機設備在哪裡找 發布:2025-07-16 02:49:28 瀏覽:356
php建立數組 發布:2025-07-16 02:34:30 瀏覽:284
oracle存儲過程同步 發布:2025-07-16 02:29:18 瀏覽:941
歐諾s買哪個配置的好 發布:2025-07-16 02:26:22 瀏覽:559
熱點可以建立ftp嗎 發布:2025-07-16 02:26:21 瀏覽:304