C語言資料結構第三章 鍊錶實現的佇列

2021-10-02 21:30:22 字數 1242 閱讀 7093

什麼叫熟練,這就叫熟練!

當函式返回值沒有定下來時,plist的指標它不會提示!

初始設定時對top裡的data做操作了,而且top是空指標

do while 寫成if while 然後卡住了… (單個的while1是無限迴圈)

這是錯的,不管是先free plist->top還是後free,不然就是plist->top沒了,不然就是plist->top->next沒了。需要加乙個中間的量來實現

需要設定的控制引數有:

top(佇列中的隊頭元素,也是最先出去的,同時也是煉表頭head)

rear(佇列中的隊尾元素,也是最慢出去的)

next (在節點node裡的)

data(在節點node裡的)

需要寫的函式有:

初始設定兩個節點

輸入資料

列印佇列

入隊出隊

2020/2

/15#include

#include

typedef

struct nodenode;

typedef

struct listlist;

void

init_queue

(list *plist)

;void

add_queue

(list *plist)

;void

print_queue

(list *plist)

;void

enqueue

(list *plist)

;void

dequeue

(list *plist)

;int

main()

void

init_queue

(list *plist)

void

add_queue

(list *plist)

else}}

while

(input_data !=-1

);}void

print_queue

(list *plist)

}void

enqueue

(list *plist)

//從隊尾rear排入

}while

(input_data !=-1

);}void

dequeue

(list *plist)

}

資料結構 第三章 鍊錶

靜態操作 get search 動態操作 insert remove 靜態儲存 如向量,物理次序與邏輯次序嚴格一致,在靜態操作上迅速,動態慢,get o 1 search o logn 動態儲存 如果鍊錶,動態的分配和 記憶體空間 鍊錶中,相鄰結點互稱為前驅和後繼,鍊錶一般採用循位置訪問 鍊錶的端點...

C語言資料結構第三章 鍊錶棧

熟練度 n,多寫寫就對鍊錶的內容更加清楚了 在建的時候有點猶豫用node p改的資料能不能在list裡也有改 list的amount沒傳回去?為什麼啊 我直接用它的plist amount 了!要在指標裡邊的操作改動的資料才會傳回去,不然就是有點像讀取位址上的數值後對數值進行的操作了。但是操作是會留...

第三章 鍊錶

redis中除了鍊錶鍵之外,發布與訂閱 慢查詢 監視器等功能也用到了鍊錶,redis伺服器本身還使用鍊錶來儲存多個客戶端的狀態資訊,以及使用鍊錶來構建客戶端輸出緩衝區。鍊錶節點定義 typedef struct listnode listnode 鍊錶型別定義 無環 表頭節點的prev指標和表尾節點...