s->next=p->next; //把結點p的後繼作為結點s的後繼;
p->next=s; //把結點s作為結點p的後繼;
bool listinsert_l(linklist &l,int i,elemtype e)
//②尋找第i-1個結點並讓p指向此結點
if(j!=i-
1) return
false; //③若i的位置不合理則報錯
if((s=(lnode*)malloc(sizeof(lnode)))==
null) exit(1); //④查詢成功,在系統中生成乙個空結點s;
s->
data
=e; //⑤將資料元素e複製給s->data;
s->next=p->next;p->next=s; //⑥插入操作(關鍵語句)
return
true; //⑦返回成功;
}
p->next=q->next; //結點q的後繼成為結點p的後繼
e=q->
data; //將被刪除的元素的值賦給e
free(q); //釋放被刪除結點的空間
bool listinsert_l(linklist &l,int i,elemtype e)
//②尋找第i-1個結點並讓p指向此結點
if(j!=i-
1) return
false; //③若i的位置不合理則報錯
q=p->next; //④若查詢成功,q指向其後繼
p->next=p->next; //⑤結點q的後繼成為結點p的後繼
e=q->
data;
free(q); //⑥將被刪除的元素的值賦給e,釋放被刪除結點的空間
return
true; //⑦返回成功;
} //linkdelete_l
資料結構 單鏈表建立 插入 刪除
include include include include include using namespace std typedef struct lnode linklist void initlist linklist head 初始化鍊錶 void createlista linklist ...
資料結構與演算法基礎 二 之單鏈表的插入與刪除操作
今天主要來講一講單鏈表的插入與刪除操作的步驟和演算法解釋。這是單鏈表最基本的操作但是也是最重要的基礎之一,有些地方還比較容易出錯。下面我就結合源 在上面加上注釋來解釋每一步的作用。一 單鏈表的插入操作 s next p next 把結點p的後繼作為結點s的後繼 p next s 把結點s作為結點p的...
4 資料結構單鏈表之煉表成員的插入與刪除
listnode creatlisttail listnode l,int a,int len return l 2.下面是單鏈表的插入函式 listnode listnodeinsert listnode l,int index,int value while p i 1 index if p i...