bol_in
2022-06-24 02:53
采纳率: 58.7%
浏览 32

LinkList 操作

LinkList 操作
本題須使用以下 Link List struct 實作
typedef struct node_s{
int data;
struct node_s *next;
} node_t;
針對空的 List,先進行 N個資料節點加入,再進行加入、刪除、交換、反轉等操作。輸出操作後 LinkList 資料。測試資料不會出現相同整數資料。

輸入說明
Line 1, 輸入 N,代表 N 個整數資料節點。
Line 2, 輸入 N 個整數,依序加入節點。
Line 3, 輸入整數 C,代表操作指令的數量。
Line 4~C+3, 輸入操作指令所須整數資料 x或 x, y。操作指令:

  1. 從最後面加入資料 x。
  2. 刪除最前面節點,若 List 無節點,則不必刪除。
  3. 刪除最後面節點,若 List 已無節點,則不必刪除。
  4. 刪除 List 內資料為 x 的節點;若 x 不存在則不刪除任何節點。
  5. 搜尋 List 內資料為 x 的節點,並在其後加入數值 y 的新節點。若 x 不在 List 中,則不必加入 y 。
  6. 反轉 Link List。
  7. 交換數值為 x和 y 節點的位置,若 x 或 y 不在 List中,則不必交換。
    輸出說明
    從最前面節點開始依序輸出各節點的值,每個數字中間以空白間隔; 若 List 為空,則輸出"None"

Sample Input 1:最後面加入節點
1
1
3
2
1 2
1 3
Sample Output 1:
2 3

Sample Input 2: 刪除最前面節點
1
3
2
2
2
Sample Output 2:
None

Sample Input 3: 刪除最後面節點
3
1 2 3
4
3
3
3
3
Sample Output 3:
None

Sample Input 4:刪除資料為 x的節點
5
1 2 3 4 5
4
4 1
4 5
4 3
4 6
Sample Output 4:
2 4

Sample Input 5:搜尋並插入新節點
5
1 2 3 4 5
4
5 1 7
5 5 8
5 3 9
5 6 10
Sample Output 5:
1 7 2 3 9 4 5 8

Sample Input 6: 反轉 Link List
5
1 2 3 4 5
3
6
6
6
Sample Output 6:
5 4 3 2 1

Sample Input 7: 交換節點
8
1 2 3 4 5 6 7 8
4
7 1 2
7 7 8
7 1 8
7 2 7
Sample Output 7:
7 8 3 4 5 6 1 2

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

相关推荐 更多相似问题