在學習佇列的時候我們需要理解到底佇列是什麼呢?佇列與堆疊不一樣的,佇列的先進先出,堆疊是先入後出。
一、 在我們看**之前我們需要了解兩個結構體。如下:
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...