問題 E 演算法2 24 單鏈表反轉

2021-08-25 10:59:19 字數 546 閱讀 9900

根據乙個整數序列構造乙個單鏈表,然後將其反轉。

例如:原單鏈表為 2 3 4 5 ,反轉之後為5 4 3 2

輸入包括多組測試資料,每組測試資料佔一行,第乙個為大於等於0的整數n,表示該單鏈表的長度,後面跟著n個整數,表示鍊錶的每乙個元素。整數之間用空格隔開

針對每組測試資料,輸出包括兩行,分別是反轉前和反轉後的鍊錶元素,用空格隔開

如果鍊錶為空,則只輸出一行,list is empty

5 1 2 3 4 5 

0

1 2 3 4 5 

5 4 3 2 1

list is empty

#include struct node; 

void creat(node *l,int n)

}void print(node *l)

printf("\n");

}node revert(node *l)

}int main()

else

} return 0;

}

單鏈表反轉演算法

struct listnode 想到兩種方法 想法是構建乙個新的單鏈表,然後遍歷原來的單鏈表,每遍乙個就把它插入到最新的單鏈表的開頭,下面是 struct listnode reverselist struct listnode list temp list last null while temp...

單鏈表反轉問題

如何將單鏈表反轉?description definition for singly linked list.author crane yuan date 2016 9 17 下午12 11 13 public class listnode description 單鏈表反轉.param head ...

單鏈表反轉問題

今天聊乙個關於單鏈表反轉的問題,已知乙個單鏈表,給出頭結點,現要求定義乙個函式,輸入頭結點然後輸出反轉後的鍊錶。鍊錶反轉前 1 2 3 4 5 6 7 8 9 鍊錶反轉後 1 2 3 4 5 6 7 8 9首先我一看到這個問題,想到的是利用乙個陣列,將單鏈表按順序遍歷並把每個節點的值依次存放到陣列中...