資料結構之單鏈表的插入與刪除操作

2021-08-18 14:49:44 字數 1086 閱讀 6541

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...