PTA 6 19單鏈表結點刪除

2021-10-01 18:50:15 字數 880 閱讀 7646

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

struct listnode ;

函式介面定義:

struct listnode *readlist();

struct listnode *deletem( struct listnode *l, int m );

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

函式deletem將單鏈表l中所有儲存了m的結點刪除。返回指向結果煉表頭結點的指標。

裁判測試程式樣例:

#include

#include

struct listnode ;

struct listnode *readlist();

struct listnode *deletem( struct listnode *l, int m );

void printlist( struct listnode *l )

printf(」\n");

}int main()

last->next = p;

}else head = p;}}

return head;

}//查詢需要刪除的結點,並進行刪除

struct listnode *deletem (

struct listnode *l,

int m)

else

}else

else}}

return l;

}ps:通過測試之後,發現還有個比較呆的做法,重新構建乙個鍊錶,將原鍊錶滿足條件的數值輸入到新鍊錶當中,並令l = 新鍊錶,返回l;

單鏈表結點刪除

本題要求實現兩個函式,分別將讀入的資料儲存為單鏈表 將鍊錶中所有儲存了某給定值的結點刪除。鍊錶結點定義如下 truct listnode struct listnode readlist struct listnode deletem struct listnode l,int m 函式readli...

刪除單鏈表某個結點

題目 刪除帶頭結點的單鏈表l中的結點p,p不是最後乙個結點,要求時間複雜度為o 1 解題思路 如果不要求時間複雜度為o 1 我們可以找出p的前驅結點,然後很容易就刪除p。現在要求時間複雜度為o 1 因為p不是最後乙個結點,知道結點p我們可以刪除p的後繼結點,那麼我們可以把p的後繼結點元素的值賦給p結...

PTA 迴圈單鏈表區間刪除

include using namespace std 庫函式標頭檔案包含 include include include 函式狀態碼定義 define true 1 define false 0 define ok 1 define error 0 define infeasible 1 defi...