日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

循环队列的进队算法c语言,循环队列的定义,入队算法,出队算法,遍历算法,及其代码实现-Go语言中文社区...

發布時間:2025/3/8 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 循环队列的进队算法c语言,循环队列的定义,入队算法,出队算法,遍历算法,及其代码实现-Go语言中文社区... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

隊列 的定義:

一種可以是實現“先進先出”的存儲結構。數據的進出類似于排隊購票。隊只允許隊尾一端(rear)添加,在另一端隊頭(front)刪除。隊有隊頭(front)和隊尾(rear)兩個指針。隊頭front指向第一個元素,隊尾rear指向無實際意義的元素,即隊列最后一個元素的下一位置。

//隊列定義

typedef struct Queue

{

int *pBase;//數組基地址,數組的首地址

int front;//隊頭

int rear;//隊尾巴

}QUEUE;

//創建一個隊列,空間分配,保存6個整形元素。

void init (QUEUE *pQ)

{

pQ->pBase=(int*)malloc(sizeof(int)*6);//長度為6的數組

pQ->front=0;

pQ->rear=0;

}

隊列的分類:

分為動態隊列和靜態隊列兩種。動態隊列用鏈表實現。動態隊列易于實現。靜態隊列用數組實現,靜態隊列通常都必須是循環隊列。

靜態隊列為甚么必須是循環隊列?

數組實現靜態隊列,刪除元素時候,每刪除一位,front指針上移一位,浪費一個單位的數組空間。這種方式添加元素的時候rear上移一個,刪除元素的時候front上移一個。總之都是上移。

當front或者rear指到最上面一個位置,再上移就移動到最下面一個位置。所以數組實現隊列的時候必須是循環隊列,傳統方式實現不了。

2.循環隊列需要幾個參數來確定,及循環隊列各個參數的含義

隊列需要兩個參數確定,front和rear.2個參數不同的場合有不同的含義,建議初學者先記住,然后慢慢體會。

隊列初始化

Front和rear的值都是零

隊列非空

Front 代表的是隊列的第一個元素

Rear代表隊列的最后一個有效元素的下一個元素

隊列空

Front 和rear的值相等,但不一定是零。

2.循環隊列入隊偽算法講解

Rear=(rear+1)%數組的長度

//進隊,隊尾rear+1;

bool en_queue(QUEUE *pQ,int val)

{

if(full_queue(pQ))

{

return false;

}

else

{

pQ->pBase[pQ->rear]=val;

pQ->rear=(pQ->rear+1)%6;

}

}

循環隊列出隊偽算法講解

Front=(front+1)%數組的長度

//出隊,隊頭位置變為:(front+1)%6

bool out_queue(QUEUE *pQ,int *pVal)

{

if(emput_queue(pQ))

return false;

else

{ ??*pVal=pQ->pBase[pQ->front];

pQ->front=pQ->front+1;

return true;

}

}

4.判斷循環隊列是否已空

Front與rear的值相等,則該隊列為空。

5.如何判斷循環對了是否已滿

預備知識 :由于是循環隊列,front的值可能比rear大,可能比rear小,也能相等,兩者沒有規律。但是隊首旋轉的速度不能比隊尾快。

當存放元素的數目等于數組的存儲位置個數,則rear和front重合。分不清頭和尾。

所以我們少用一個存儲位置。

c語言偽算法表示是:

隊列滿的條件:if ((rear+1)%數組長度==front)已滿

Else 不滿

#include

#include

#include"stdbool.h"//解決不能使用bool

#include "malloc.h"

//隊定義

typedef struct Queue

{

int *pBase;//數組基地址,數組的首地址

int front;//隊頭

int rear;//隊尾巴

}QUEUE;

void init(QUEUE*);//創建循環隊列

bool en_queue(QUEUE*,int ); //入隊

void traverse_queue(QUEUE*);//遍歷

bool emput_queue(QUEUE* );//隊是否滿

bool full_queue(QUEUE *);//對列是否空

bool out_queue(QUEUE *,int *);//出隊

int main()

{

int Val;

QUEUE Q;

init(&Q);

en_queue(&Q,1);

en_queue(&Q,2);

en_queue(&Q,3);

en_queue(&Q,4);

en_queue(&Q,5);

traverse_queue(&Q );//遍歷

if(out_queue(&Q ,&Val))

{

printf("出隊成功,出隊的元素是%dn",Val);

traverse_queue(&Q );//遍歷

}

return 0;

}

//創建一個隊列,空間分配,保存6個整形元素。

void init (QUEUE *pQ)

{

pQ->pBase=(int*)malloc(sizeof(int)*6);//長度為6的數組

pQ->front=0;

pQ->rear=0;

}

//判斷循環隊列是否滿

bool full_queue(QUEUE *pQ)

{

if((pQ->rear+1)%6==pQ->front)

{

return true;

}

else

return false;

}

//進隊,隊尾rear+1;

bool en_queue(QUEUE *pQ,int val)

{

if(full_queue(pQ))

{

return false;

}

else

{

pQ->pBase[pQ->rear]=val;

pQ->rear=(pQ->rear+1)%6;

}

}

//利用中間變量,遍歷隊列

void traverse_queue(QUEUE *pQ)

{

printf("隊列遍歷結果如下n");

int i= pQ->front;

while(i!=pQ->rear)

{

printf("%d ",pQ->pBase[i]);

i=(i+1)%6;

}

printf("n");

return ;

}

bool emput_queue(QUEUE* pQ)

{

if(pQ->front==pQ->rear)

return true;

else

return false;

}

//出隊,隊頭front+1

bool out_queue(QUEUE *pQ,int *pVal)

{

if(emput_queue(pQ))

return false;

else

{ ??*pVal=pQ->pBase[pQ->front];

pQ->front=(pQ->front+1)%6;

return true;

}

}

總結

以上是生活随笔為你收集整理的循环队列的进队算法c语言,循环队列的定义,入队算法,出队算法,遍历算法,及其代码实现-Go语言中文社区...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 特级黄色一级片 | 性欧美长视频 | 久久这里有精品 | 日韩av在线免费 | 成人性生活毛片 | 制服丝袜第二页 | 国产a视频 | 亚洲国产精品午夜久久久 | 色亭亭 | 无码人妻一区二区三区一 | 国产3p在线播放 | 中文字幕亚洲激情 | 一级片免费观看视频 | 在线一区 | 99久久国产综合 | 国产欧美高清 | 午夜做爰xxxⅹ性高湖视频美国 | 亚洲午夜精品一区二区三区他趣 | 青草久久网| 福利在线电影 | 97久久免费视频 | 91大尺度| 日本国产高清 | 日本囗交做爰视频 | 国语对白少妇spa私密按摩 | 久久精品aⅴ无码中文字字幕重口 | 538任你躁在线精品免费 | 日韩成人午夜 | 一本色道久久综合亚洲精品小说 | 日韩片在线观看 | 欧美图片一区二区 | 999免费视频 | 亚洲综合五月天婷婷丁香 | 亚洲久久色 | 激情五月五月婷婷 | 69看片 | 天天槽| 香蕉网站视频 | av片在线观看 | 人妻少妇一区二区 | 国产精品久久国产愉拍 | 中文字幕第99页 | 好吊一区 | 三级在线观看网站 | 五月激情综合网 | av影库| 日韩精品一区二区三区视频在线观看 | 日本少妇高潮喷水xxxxxxx | 欧美一区二区在线视频观看 | 色婷婷色综合 | 亚洲午夜精品久久久久久app | 日韩激情视频在线 | 欧美午夜精品久久久久久浪潮 | 欧美亚洲一区二区三区四区 | 污视频91 | 成人自拍视频在线观看 | 贝利弗山的秘密在线观看 | 国产性生活视频 | 日本不卡一 | 五月婷婷六月婷婷 | 国产高h视频 | 中文字幕永久在线播放 | 视频二区 | 欧美一区二区在线视频观看 | 91麻豆精品国产91久久久无需广告 | 伊人网国产 | 欧美丰满美乳xxⅹ高潮www | 国产又粗又黄又爽视频 | 国产乱子伦精品无码专区 | 国内自拍真实伦在线观看 | 黄色网入口 | 亚洲精品免费在线视频 | 午夜合集 | 激情小说激情视频 | 岛国av免费在线观看 | 免费在线观看黄色网址 | av免费观看大全 | 欧美性猛交久久久乱大交小说 | 日韩无遮挡 | 蘑菇福利视频一区播放 | 日韩av无码一区二区三区不卡 | 丁香综合激情 | 欧美二区三区 | 亚洲第一视频在线播放 | 亚洲人人爽 | 欧洲一区在线 | 狠狠综合网 | 一区二区91 | 亚洲精品视频一区 | 福利小视频在线播放 | 亚洲婷婷小说 | 51久久 | 午夜在线观看免费视频 | 99久久婷婷国产综合精品 | 91亚洲视频在线观看 | 欧美日韩精品一区二区在线播放 | 五月开心激情 | 小明天天看 | 青青av|