佇列的C語言實現

2021-07-01 20:12:33 字數 1354 閱讀 6833

在學習佇列的時候我們需要理解到底佇列是什麼呢?佇列與堆疊不一樣的,佇列的先進先出,堆疊是先入後出。

一、 在我們看**之前我們需要了解兩個結構體。如下:

1-1.這個是佇列元素的結構體:

typedef struct nodenode;
1-2.下面是佇列的結構體,包括了佇列的當前數目以及對頭指標和隊尾指標:

typedef struct queuequeue;
二、下面是佇列的實現**:

2-1.佇列初始化:

void initqueue(queue *pq)

2-2.判斷佇列是否蠻:

bool queueisfull(const queue *pq)

2-3判斷佇列是否為空:

bool queueisempty(const queue *pq)

2-4。獲取當前佇列數目:

int queueitemcount(const queue *pq)

2-5.copy元素到佇列節點中:

int queueitemcount(const queue *pq)

2-6.插入元素到佇列中:

bool enqueue(item item,queue *pq)

copytonode(item,pnew);//複製資訊到節點中

pnew->next = null;//把節點中的next指標賦空

if(queueisempty(pq))

else

pq->rear->next = pnew;//不為空的話就插入到尾結點的下乙個

pq->rear = pnew;//移動尾節點到新插入的節點處

pq->items ++;//佇列數累加

printf("pq->items=%d\n",pq->items);

return 1;

}

2-7.一處乙個佇列元素:

bool dequeue(item *pitem,queue *pq)

三、測試佇列函式:

int main(void)

else

}else if(ch == 'd')else

} }}

以上的**在linux上面編譯並自己測試通過了的,大家可以放心使用,雖然簡單,但是佇列的思路就是這樣。。。

佇列(c語言實現)

目錄前言 一 佇列是什麼?二 佇列的屬性與操作以及種類 1.佇列屬性 2.佇列操作 3.佇列種類 三 佇列的實現 c語言 總結 本文旨在幫助剛接觸佇列的人更快的掌握,語言不夠嚴謹,望海涵。栗子 一對情侶準備在情人節去電影院看電影,男的是個身穿格仔衫的程式設計師,我們就稱之為小木,由於排隊買票的人特別...

佇列 c語言實現

佇列 先進先出 define minquesize 5 typedef struct treenode elemtype typedef struct myqueue myqueue creatqueue int capacity myqueue res malloc sizeof myqueue ...

C語言實現佇列

1 ifndef queue h 2 define queue h 34 include 5 6 typedef int qdatatype 資料型別 78 typedef struct listnode 通過鍊錶實現的 9listnode,plistnode 1314 typedef struct...