實驗11 2 4 刪除單鏈表偶數節點 20分

2021-10-08 14:48:30 字數 1244 閱讀 6425

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

struct listnode ;
struct listnode *createlist();

struct listnode *deleteeven( struct listnode *head );

函式createlist從標準輸入讀入一系列正整數,按照讀入順序建立單鏈表。當讀到−1時表示輸入結束,函式應返回指向單鏈表頭結點的指標。

函式deleteeven將單鏈表head中偶數值的結點刪除,返回結果鍊錶的頭指標。

#include #include struct listnode ;

struct listnode *createlist();

struct listnode *deleteeven( struct listnode *head );

void printlist( struct listnode *head )

printf("\n");

}int main()

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

1 2 2 3 4 5 6 7 -1
1 3 5 7
本題屬於鍊錶操作基礎題型。主要為鍊錶寫入和鍊錶結點刪除。因為是順序寫入的,所以用尾插法建立鍊錶。**如下:

struct listnode *createlist()else

scanf("%d",&num);

}return head;

}struct listnode *deleteeven( struct listnode *head )

if(head != null)else}}

return head;

}

這道題刪除結點的函式,前面得先討論頭結點就需要刪除的情況,後來想到可以增加乙個輔助頭結點,從而將討論頭節點是否有資料的步驟省去,**如下:

struct listnode *deleteeven( struct listnode *head )

*/if(vhead != null)else}}

return vhead->next;//這裡返回的也需要修改下

}

刪除單鏈表偶數節點 20分

本題要求實現兩個函式,分別將讀入的資料儲存為單鏈表 將鍊錶中偶數值的結點刪除。鍊錶結點定義如下 struct listnode 函式介面定義 struct listnode createlist struct listnode deleteeven struct listnode head 函式cr...

實驗10 3 刪除單項鍊表偶數節點

問題描述 輸人若干個正整數 輸入 1 為結束標誌 並建立個單向鍊錶,將其中的偶數值結點刪除後輸出。試編寫相應程式。樣例輸入 1 2 3 4 5 6 7 1 樣例輸出 1 3 5 7 include include include struct zhengshu 新建鍊錶 struct zhengsh...

6 13 刪除單鏈表偶數節點 20 分

本題要求實現兩個函式,分別將讀入的資料儲存為單鏈表 將鍊錶中偶數值的結點刪除。鍊錶結點定義如下 struct listnode 函式介面定義 struct listnode createlist struct listnode deleteeven struct listnode head 函式cr...