C語言函式 單鏈表結點刪除

2021-09-20 03:55:25 字數 1035 閱讀 9957

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

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

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

10 11 10 12 10 -1

10 11 12

struct listnode *p,*tail,*head=null;

while(1)

return head;

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

if(l==null) return null;

p1=l;

p2=l->next;

while(p2)

else p1=p2;

p2=p1->next;

}return 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結...

C語言帶頭結點的單鏈表

之前的文章建立的單鏈表都是不帶頭結點的單鏈表。有時,我們為了更加方便地對鍊錶進行操作,會在單鏈表的第乙個結點前附設乙個結點,稱為頭結點。頭指標與頭結點的異同 頭指標 頭指標是指煉表中指向第乙個結點的指標,若煉表有頭結點,則是指向頭結點的指標。頭指標具有標識作用,所以常用頭指標冠以鍊錶的名字。頭結點 ...