本題要求實現兩個函式,分別將讀入的資料儲存為單鏈表、將鍊錶中奇數值的結點重新組成乙個新的鍊錶。鍊錶結點定義如下:
struct listnode
;
函式介面定義:
struct listnode *
readlist()
;struct listnode *
getodd
(struct listnode *
*l )
;
函式readlist從標準輸入讀入一系列正整數,按照讀入順序建立單鏈表。當讀到−1時表示輸入結束,函式應返回指向單鏈表頭結點的指標。
函式getodd將單鏈表l中奇數值的結點分離出來,重新組成乙個新的鍊錶。返回指向新煉表頭結點的指標,同時將l中儲存的位址改為刪除了奇數值結點後的鍊錶的頭結點位址(所以要傳入l的指標)。
裁判測試程式樣例:
#include
#include
struct listnode
;struct listnode *
readlist()
;struct listnode *
getodd
(struct listnode *
*l )
;void
printlist
(struct listnode *l )
printf
("\n");
}int
main()
/* 你的**將被嵌在這裡 */
輸入樣例:
1 2 2 3 4 5 6 7 -1
輸出樣例:
1 3 5 7
2 2 4 6
struct listnode*
readlist()
else
tail = current;
current = current->next;}}
while
(number !=-1
);return head;
}struct listnode*
getodd
(struct listnode*
* l)
else
}else
else
} current = current->next;
/*讓current指向主鍊錶的下一位*/
tail->next =
null;}
else
}return odd_head;
}
6 5 奇數值結點鍊錶 20 分
本題要求實現兩個函式,分別將讀入的資料儲存為單鏈表 將鍊錶中奇數值的結點重新組成乙個新的鍊錶。鍊錶結點定義如下 struct listnode struct listnode readlist struct listnode getodd struct listnode l 函式readlist從標...
6 2 奇數值結點鍊錶 20分
本題要求實現兩個函式,分別將讀入的資料儲存為單鏈表 將鍊錶中奇數值的結點重新組成乙個新的鍊錶。鍊錶結點定義如下 struct listnode 函式介面定義 struct listnode readlist struct listnode getodd struct listnode l 函式rea...
習題11 7 奇數值結點鍊錶 20 分
本題要求實現兩個函式,分別將讀入的資料儲存為單鏈表 將鍊錶中奇數值的結點重新組成乙個新的鍊錶。鍊錶結點定義如下 struct listnode 函式介面定義 struct listnode readlist struct listnode getodd struct listnode l 函式rea...