下面是基本連結清單處理操作的5種正常用法的實作.這類代碼用于内嵌連結清單處理代碼的簡單應用中
循環,永遠非空
頭插入 head->next = head;
在x節點後插入t節點 t->next = x->next, x->next = t;
删除x後的節點 t = x->next, x->next = t->next, free(t);
周遊循環 t = head; do{ ... t = t->next}
while(t != head);
測試是否隻有一個元素 if(head->next == head)
頭指針,尾節點為空
初始化 head = NULL;
在x節點後插入t節點 if(x == NULL){head = t, head->next == NULL;}
else{t->next = x->next, x->next = t;}
删除x後的節點 t = x->next, x->next = t->next, free(t);
周遊循環 t = head; while(t){... t = t->next;}
測試表是否為空 if(head == NULL)
有啞元頭結點,尾節點為空
初始化 head->next = NULL;
在x節點後插入t節點 t->next = x->next, x->next = t;
删除x節點後的節點 t = x->next, x->next = t->next, free(t);
周遊循環 t = head->next; while(t){... t = t->next;}
測試表是否為空 if(head->next == NULL)
有啞元頭,尾結點
初始化 head->next = rear, rear->next = rear;
在x節點後插入t節點 t->next = x->next, x->next = t;
删除x後的節點 t = x->next, x->next = t->next, free(t);
周遊循環 t = head; while(t->next != rear){... t = t->next;}
測試表是否為空 if(head->next == rear)