習題11 7 奇數值結點鍊錶 20分

2021-10-24 03:41:43 字數 1360 閱讀 6489

本題要求實現兩個函式,分別將讀入的資料儲存為單鏈表、將鍊錶中奇數值的結點重新組成乙個新的鍊錶。鍊錶結點定義如下:

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()

/* 你的**將被嵌在這裡 */

122

3456

7-1

135

7224

6

struct listnode *

readlist()

if(head!=

null

)else head=q;

p=q;

}return head;

}struct listnode *

getodd

(struct listnode *

*l )

if(oddh!=

null

) p1->next=q;

else oddh=q;

p1=q;

}else

if(evenh!=

null

) p0->next=q;

else evenh=q;

p0=q;

}*l=

(*l)

->next;

}*l=evenh;

return oddh;

}

習題11 7 奇數值結點鍊錶 20 分

本題要求實現兩個函式,分別將讀入的資料儲存為單鏈表 將鍊錶中奇數值的結點重新組成乙個新的鍊錶。鍊錶結點定義如下 struct listnode 函式介面定義 struct listnode readlist struct listnode getodd struct listnode l 函式rea...

習題11 7 奇數值結點鍊錶 20分

本題要求實現兩個函式,分別將讀入的資料儲存為單鏈表 將鍊錶中奇數值的結點重新組成乙個新的鍊錶。鍊錶結點定義如下 這題最後題目要返回新的鍊錶的頭結點,但是編譯錯誤,返回首元節點則對,不知道為什麼。struct listnode struct listnode readlist return head ...

習題11 7 奇數值結點鍊錶 20分

無頭節點 本題答案 無頭節點 本題答案 struct listnode readlist return head 返回頭節點 有了頭 就可以輸出下面所有的資料 struct listnode getodd struct listnode l 二級指標?else head1 q p1 q p1存奇數 ...