鍊錶的刪除功能

2021-07-24 05:14:14 字數 978 閱讀 5614

鍊錶的刪除是在建好鍊錶的功能基礎上實現的

當然,刪除也是分為幾種情況的

1. 刪除的鍊錶為空,刪除失敗

2. 要刪除的元素為首元素,直接把第二個結構體設為首元素即可

3. 要刪除的元素為尾元素,直接把尾元素的前乙個元素的snext指標設定為空

4. 要刪除的元素位於鍊錶中間

5. 沒有找打要刪除的元素

#include 

#include

#include

using

namespace

std;

struct stu

;int main()

printf("您輸入的鍊錶為:\n");

list(head);

printf("請輸入要刪除的學號:\n");

scanf("%d",&inum);

head = del(head,inum);

printf("您刪除後的鍊錶為:\n");

list(head);

return0;}

struct stu *insert(struct stu *head,struct stu *newstu)

else

if(p != null)

else

}else

}return head;

}void list(struct stu *head)

else

}}struct stu *del(struct stu *head,int inum)

else

if(p == head)

else

if(p->snext == null)//第三種情況

else

if(p == null)//第五種情況

else

//第四種情況

}return head;

}

鍊錶 刪除鍊錶的節點

劍指offer的乙個題,題目是要求在最少的時間內刪除鍊錶的節點。問題分析 對於鍊錶的刪除,按照劍指offer的一貫思路就是展開討論 1 空鍊錶咋辦 待刪除的節點是空節點咋辦 2 要刪除的節點在鍊錶中的位置有三種情況 1 鍊錶只有乙個節點,待刪除節點是表頭又是尾節點 2 鍊錶有多個節點,待刪除的節點是...

刪除鍊錶的節點 鍊錶操作

給定單向鍊錶的頭指標和乙個要刪除的節點的值,定義乙個函式刪除該節點。返回刪除後的鍊錶的頭節點。注意 此題對比原題有改動 示例 1 輸入 head 4,5,1,9 val 5 輸出 4,1,9 解釋 給定你鍊錶中值為 5 的第二個節點,那麼在呼叫了你的函式之後,該鍊錶應變為 4 1 9.示例 2 輸入...

鍊錶定義 鍊錶的插入 鍊錶的刪除 鍊錶的查詢

鍊錶的定義 鍊錶是一種常見的重要的資料結構。它是動態地進行儲存分配的一種結構。它可以根據需要開闢記憶體單元。鍊錶有乙個 頭指標 變數,以head表示,它存放乙個位址。該位址指向乙個元素。鍊錶中每乙個元素稱為 結點 每個結點都應包括兩個部分 一為使用者需要用的實際資料,二為下乙個結點的位址。因此,he...