c語言 單鏈表的增刪改查(簡單版)

2021-10-23 04:37:07 字數 1981 閱讀 8523

在學了鍊錶之後,自己也能寫出乙個簡單的鍊錶結構,這裡就將自己的**分享一下。如果發現有不足之處,歡迎指出。

typedef

struct dnode

snode,

*ptr;

這裡返回的是head,

ptr initlink()

//初始化鍊錶並插入元素(向後插入)

p=head;head=head->next;

free

(p);

//刪除輔助結點

return

(head)

;//返回表頭指標

}

void

showlink

(ptr p)

printf

("\n");

}

判斷放在了主函式,如果返回值是0,說明該值不存在,如果返回不是0,則該返回值就是該值所在鍊錶的位置(並不是下標位置,而是下標位置+1)

int

findlink

(ptr p,

int x)

return0;

}

因為只設定了乙個結點,因此這裡查詢的點是需要刪除點的前乙個結點,這樣方便結點的移動。

ptr deletelink

(ptr p,

int x)

while

(p->next!=

null

) p=p->next;

}printf

("對不起您要刪除的值不存在\n");

return head;

}

ptr insertlink

(ptr p,

int x,

int val)

while

(i!=x-1)

p=p->next;

i++;}

q->next=p->next;

p->next=q;

return head;

}

#include

#include

typedef

struct dnode

snode,

*ptr;

ptr initlink()

//初始化鍊錶並插入元素(向後插入)

p=head;head=head->next;

free

(p);

//刪除輔助結點

return

(head)

;//返回表頭指標

}void

showlink

(ptr p)

printf

("\n");

}int

findlink

(ptr p,

int x)

return0;

}ptr deletelink

(ptr p,

int x)

while

(p->next!=

null

) p=p->next;

}printf

("對不起您要刪除的值不存在\n");

return head;

}ptr insertlink

(ptr p,

int x,

int val)

while

(i!=x-1)

p=p->next;

i++;}

q->next=p->next;

p->next=q;

return head;

}void

main()

else

if(n==2)

else

if(n==3)

else

}

C語言單鏈表 增 刪 改 查

鍊錶是一種常見的基礎資料結構,結構體指標在這裡得到了充分的利用。鍊錶可以動態的進行儲存分配,也就是說,鍊錶是乙個功能極為強大的陣列,他可以在節點中定義多種資料型別,還可以根據需要隨意增添,刪除,插入節點。鍊錶都有乙個頭指標,一般以head來表示,存放的是乙個位址。鍊錶中的節點分為兩類,頭結點和一般節...

C語言編寫簡單的單鏈表(增刪改查)

純自己寫的,就是想試一下自己對指標 鍊錶內容的理解程度,沒有經過大量測試,只自己小小的測試了一下。include include includestruct node struct node creat void show struct node first bool insert struct n...

單鏈表的簡單增刪改查

package com.mjw.linkedlist public class singlelinkedlistdemo 4.定義singlelinkedlist來管理英雄結點 class singlelinkedlist if temp.next.no heronode.no else if te...