單鏈表插入與刪除演算法

2021-05-23 06:06:10 字數 790 閱讀 7538

#include

#include

typedef char datatype; 

typedef struct node 

linklist; 

linklist* initlist(linklist*head) 

linklist* createlist(linklist*head,int n) 

head- >next=null; 

return head; 

}  linklist*insertlist(linklist*head,int n,datatype x)

linklist* deletelist(linklist*head,int n)

void outlist(linklist*head) 

printf("/n"); 

}  void main() 

/*現在包括了插入和刪除*/

補充/*************************************/

1.前插操作(*s插到*p前面)

q=l;

while(q->next!=p)

q=p->next;

s->next=q->next;

q->next=s;

2.後插操作(*s插入到*p後面)

s->next=p->next;

p->next=s;

3.刪除操作(刪除結點*p)

q->next=p->next;

free(p);

單鏈表的插入與刪除

順序結構的缺點還是蠻大的,現在來看看單鏈表的插入與刪除。單鏈表中,在c語言可以用結構體指標描述 typedef struct node node typedef struct node linklist 有一點很重要 比如我隨便畫乙個。千萬別也成 p next s s netx p next 正確的...

單鏈表插入刪除

在鍊錶的插入刪除操作上理解起來比順序表更為容易,其不需要變動在i位置前的所有的元素,只需要修改節點指標即可。插入 設在鍊錶的i位置插入新元素,設i 1節點的指標域為p,設插入的節點指標域為s,所以插入操作應該為 s next p next 將s的字尾改為p的字尾,p的字尾是原來的第i個點的指標域,將...

單鏈表插入刪除排序

package liu public class node public void setdata int data public int getdata public node getnext public void setnext node next package liu public cla...