單鏈表是最簡單的資料結構,同時也是最常接觸的資料結構,這個問題也很常見,通常這個問題我們有兩種解決辦法。
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...