Linux C 資料結構 佇列

2021-10-02 14:58:43 字數 839 閱讀 4671

先進先出的線性表。

允許在兩端進行插入和刪除的線性表。

一端負責插入資料(入隊。使用 rear 隊尾指標),另一端負責刪除資料(出隊。使用 front 隊頭指標)

#include

#include

#define max 6

typedef

struct

sequeue_t;

sequeue_t *

create_empty_queue()

intempty_queue

(sequeue_t *s)

//兩指標指同一位置,稱為對空。

intfull_queue

(sequeue_t *s)

//為了區分 隊空 與 隊滿,規定滿隊個數,要比陣列個數少1.

intenter_queue

(sequeue_t *s,

int value)

//入隊

s->data[s->rear++

]= value ;

//值入隊。

s->rear = s->rear % max;

//隊尾指標 ++;

return0;

}int

out_queue

(sequeue_t *s)

int x = s->data[s->front++];

//值出隊。

s->front = s->front % max;

//隊頭指標 ++;

return x;

}//測試函式。

intmain()

Linux C 資料結構 佇列

還是先放這張圖,以便對比和理解 佇列是限制在兩端進行插入操作和刪除操作的線性表,允許進行存入操作的一端稱為 隊尾 允許進行刪除操作的一端稱為 隊頭 當線性表中沒有元素時,稱為 空隊 特點 先進先出 fifo 一 順序佇列 建立順序佇列結構必須為其靜態分配或動態申請一片連續的儲存空間,並設定兩個指標進...

Linux C語言 動態資料結構

煉表裡的各個位址不一定是連續的 靜態鍊錶的定義 初始化以及遍歷 include struct weapon int main return0 輸出結果 linux ubuntu workspace2 les4 a.out 100,150200 250 300,350靜態鍊錶的所有節點都是在程式中定義...

資料結構 佇列

一 佇列的迴圈陣列實現。1 初始化 空佇列。令rear front 0。2 入佇列 約定rear指向佇列尾元素的下乙個位置。入佇列時,先判斷佇列是否已滿,而後將array rear x 然後rear 3 出佇列 約定front指向佇列的首元素位置。出佇列時,先判斷佇列是否為空,而後返回隊首元素re ...