1樓:匿名使用者
rear指向隊尾,迴圈單連結串列的話,下一個指向的應該是隊首,如下:隊首|
-->node-->node-->node-->node-->...-->node-
| |
--node<--......... <--node<--
|rear,隊尾
初始化佇列很簡單,建一個節點,把rear指向該節點,然後rear->next=rear,就可以了。
每次入隊就是
node* newnode;
newnode->next = rear->next;
rear->next = newnode;
rear = rear->next;
這樣就是在隊尾新增了一個節點。
出隊就是
node* temp = rear->next;
rear->next = rear->next->next;
//do something on temp
delete temp;
不過這裡都沒考慮只有一個節點以及佇列為空等特殊情況
2樓:匿名使用者
ls的還是含有指標頭!lz,要不設定指標頭的話,這指標比較麻煩了,總是以next->next出現。
C語言演算法的問題
演算法一 用的是等差數列的求和公式,現在簡單推導一下 s 1 2 3 ns n n 1 n 2 1相加得 2 s n 1 n 1 n 1 n 1 得 s n 1 n 2 演算法二和演算法三 都差不多,c語言實現如下 void sum int n 2和3不是一樣的麼。感覺是在忽悠。演算法三 第1步 將...
c語言當中的連結串列重要嗎?可以做什麼
北風微風 和陣列一樣是一種資料結構,陣列不支援高效的刪除和插入,因為要涉及到資料的移動,並且陣列的大小是固定的。但是連結串列克服了這些缺點,但是他也有自己的缺點,需要額外的記憶體儲存維持連結串列的變數,並且不能像陣列那樣隨機訪問。所以這就是電腦科學中的tradeoff吧,有得必有失。 重要,連結串列...
懂C語言的進,懂c語言的進入
include這個地方最好還是寫一下,因為有些編輯器不寫這個,程式是執行不了的,這樣寫屬於標準的c語言 void main 主函式前加void,和上句是一樣的解釋。printf the result for i 1 i 10 i printf d a i 冒泡法是較大 小 的數排在前面,要看你的排序...