定義結點(結構體型別)
定義指向結點的指標變數(必須有頭指標)head,p1,p2
新建結點(malloc函式開闢記憶體)
指向如果是第乙個結點,則讓頭指標head指向該結點
若不是第乙個結點,則讓上乙個結點的指標變數指向該結點
最後讓尾結點的指標變數指向null
如:list *pre;
pre->next=p;或者pre->next==null;
注:不要忘記讓尾結點指向null
#include#includetypedef struct note
list;
struct list *createlist()
pre->next=null;
return head;
}
鍊錶的刪除就是改變結點中指標變數的指向,
分兩種情況:
1.要刪除的是頭結點
2.刪除的是頭結點之後的
`
void del(list *head,int n)
for(pre=head;pre!=null;pre=pre->next)
printf("%d ",pre->data);
}
和刪除類似,都是改變指標變數的指向,但必須排序好了
分三種情況:
1.當要新增的鍊錶為空
2.當要新增的鍊錶不為空,但插入點小於頭結點
3.當要新增的鍊錶不為空,並且插入點大於頭結點
void(list *head,int n)
else
//3.當要新增的鍊錶不為空,並且插入點大於頭結點
else
插入點插在鍊錶的末尾(插入點大於所有結點)
else}}
}
鍊錶建立 插入 刪除
這兩天,拼命理解鍊錶,儘管現在理解還是不夠,但終於把長久以來一直折磨我的鍊錶用c 打出來了。還是有點小小的成就感。以下是 包括鍊錶建立 頭插法和尾插法 插入乙個位置的鍊錶 刪除乙個位置的鍊錶以及整個鍊錶的刪除。define null 0 include using namespace std int...
鍊錶的建立 刪除 插入
1.鍊錶的建立 需要乙個頭指標 結點指標 尾指標即可。這裡值得注意的是,建立的過程頭指標是不能變的,而每次插入乙個節點,尾指標都要後移乙個節點 一開始把尾指標指向頭指標 如建立含有n個結點的鍊錶如下 node create else pend next null ps new node delete...
鍊錶 建立 插入 刪除 查詢
include include typedef struct node int data struct node next node node createlist 建立乙個單鏈表 printf 建立乙個長度為 n的鍊錶,請輸入 n int n scanf d n node l l node mal...