倒序輸出單鏈表的內容

2021-06-18 10:35:53 字數 1179 閱讀 9205

單鏈表是最簡單的資料結構,同時也是最常接觸的資料結構,這個問題也很常見,通常這個問題我們有兩種解決辦法。

1.逆置單鏈表之後輸出

這篇文章講述了這樣的過程

但是這種方法不一定可行,因為這樣改變了單鏈表原來的結構

2.利用棧的後進先出的思想,首先我們正序輸出單鏈表中的每乙個節點,在輸出的過程中我們把這些節點存入棧中,之後,在從棧中輸出,由此就可以得到倒序的單鏈表

不過,上述方法需要定義棧或者需要其他的儲存空間,由此,我們可以聯想到棧的原理,不再申請其他的空間,利用遞迴的思想輸出

源**如下:

#include #include typedef struct node

linkednode, *linklist;

void print(linklist list_head);

int main(int argc, char **argv)

; int i;

list_head = (linkednode*)malloc(sizeof(linkednode));

if (list_head == null)

return -1;

list_head -> data = array[0];

list_head -> next = null;

for (i = 1; i < 10; i++)

/*á´±íµäõýðòêä³ö*/

temp = list_head;

while(temp != null)

printf("\n");

print(list_head);

printf("\n");

return 0;

}/*µ¹ðòêä³öá´±íöðµä½úµã*/

void print(linklist list_head)

else

}

說明,其實這種方法只適合鍊錶長度適中的情況,如果太大,必定在棧中巢狀多次,最終可能會導致棧的溢位。

NSArray 倒序 輸出

今天因為自己一些知識的不了解,導致了開發時間的浪費,現在乙個需求記錄使用者曾使用的歷史 功能,單獨在documents建立了乙個資料夾存放使用者,後來想法是先遍歷資料夾下的內容,獲取乙個陣列來進行操作。但是輸出的nsarray很糾結,不是倒序排列的,於是乎,想用plist進行儲存,然後再輸出下,後來...

C 倒序輸出

定義好的陣列輸入。char ch1 10 abcde ch2 10 int i 0,j 0,n 0 n strlen ch1 for i n 1 i 0 i cout ch2 endl 從命令串列埠輸入 連續的 字串 或者 數字。有空格就不行 相當於兩個數或者兩個字串 include include...

分割片語倒序輸出

一點點的將印象筆記中整理的東西搬家到部落格 下面這個例子講的是按照片語順序反轉輸出,比如 輸入的句子為 how are you 經過反轉後為 you are how 以下為 示例 按單詞的字串反轉 string string 1 2 3 4 5 6 7 8 9 stackstack new stac...