初始條件:1.帶有頭結點的鏈表 2,洗掉位置i
基本操作:p指向某一個結點,可以洗掉它后面的那個結點 執行的操作是p->next=p->next->next 要洗掉第i個結點 就要找到第i-1個結點
初始化:1.p=L 指向頭結點 2.j=1
尋找第i-1個結點
while( j<i ){
p=p->next;
j++;
}
i的不同情況:1.i<1 此時p指向頭結點 2. 1<=i<=length 正常執行 3.i=length+1 正常執行 p指向最后一個結點 3.i>length+1 會出現空指標例外
避免4出現的空指標例外 以及 3在后續操作會出現的空指標例外 加入條件 p->next 不為空
while( j<i && p->next){
p=p->next;
j++;
}
排除1,3,4:
if(j>i || p->next){
return ERROR;
}
洗掉結點:
p->next=p->next->next
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/31061.html
標籤:其他
上一篇:資料結構-線性表
