首節點:存放第乙個有效資料的結點;
尾結點:存放最後乙個有效資料的結點;尾指標指向;
頭結點:頭結點的資料型別和首結點的型別一模一樣;
頭結點是首節點前面的那個結點;單鏈表的插入實現邏輯:頭結點並不存放有效資料;
設定頭結點的目的是為了方便儲存資料;
step 1:s->next=p->next;
step 2:p->next=s ;
單鏈表的刪除實現邏輯:
刪除動作的核心語句(要借助輔助指標變數q):
q = p->next;
//首先儲存b的指標,靠它才能找到c;
p->next=q->next;
//將a、c兩結點相連,淘汰b結點;
free
(q) ; //徹底釋放b結點空間
以下**實現了鍊錶的插入,刪除,反轉,遍歷
#include
#include
#include
#define maxsize (10)
typedef
int elementtype;
typedef
struct node
*list;
list createlist
(void
)//建表,初始化為空
l->data =0;
l->next =
null
;return l;
}list initlist
(list l)
//初始化鍊錶
rear->next =
null;}
void
printlist
(list l)
//遍歷
printf
("\n");
}void
reverselist
(list l)
//反轉
l->next = head;
}void
deleteeven
(list l)
//刪除
else}}
void
insert
(list l)
//插入
tmp->next = q;
p->next = tmp;
}int
main
(void
)
執行結果如圖 單鏈表的快速排序演算法及其實現
演算法思想 對於乙個鍊錶,以head節點的值作為key,然後遍歷之後的節點,可以得到乙個小於key的鍊錶和大於等於key的鍊錶 由此遞迴可以對兩個鍊錶分別進行快速。這裡用到了快速排序的思想即經過一趟排序能夠將小於key的元素放在一邊,將大於等於key的元素放在另一邊 面試回答 如果面試官問快速排序是...
python單例模式及其實現
什麼是單例模式,為什麼要用單例模式,怎麼實現單例模式?只是我們今天要解決的三個問題。首先,第一點,什麼是單例模式?單例模式 singleton pattern 是一種常用的軟體設計模式,該模式的主要目的是確保某乙個類只有乙個例項存在。當你希望在整個系統中,某個類只能出現乙個例項時,單例物件就能派上用...
code及其實現
1.what is code?編碼並不是我隨便亂取的名字,其原理在資訊檢索導論第5章第3節有介紹,用於壓縮一連串有序的數字型別的資料非常有用。在mg中將 編碼歸類為全域性模型 mg更推崇區域性模型 其原理是將所有的資料分成兩部分連起來,第一部分為資料長度,第二部分為資料內容。這樣做的好處是對於很小的...