代碼如下: void Del X LinkList amp L,ElemType x LNode p if L NULL return if L gt data x p L L L gt next free p Del X L,x 位置 else Del X L gt next,x 位置 我們的疑點是遞歸操作中好像只進行了刪除操作,而沒有改變被刪除結點的前驅,使其指向被刪除結點的下一個結點。 例如 ...
2013-10-28 22:56 1 9061 推薦指數:
轉自:http://blog.csdn.net/xlf13872135090/article/details/8857632 Node *head; //聲明頭結點 帶頭結點初始化 void InitList(Node **head ...
算法復雜度0(n) 結果: [5, 3, 2, 8][5, 3, 8] ...
不帶頭結點的單鏈表的插入操作和帶頭結點的插入操作基本相同,只是需要把插在第一位的情況單獨拎出來考慮,即單獨討論 i = 1 的情況。 if ( i == 1 ) { LNode *s = ( LNode * ) malloc ( sizeof ( LNode ...
本篇文章的代碼大多使用無頭結點的單鏈表: 相關定義: 相關函數的定義: 由上面可以看出,只要是涉及到頭指針發生改變的,我們在函數中都是傳入指向頭指針的指針。就像我們在swap函數中要交換a和b的值,我們是傳入地址,而現在我們要改變頭指針的值,也必須要 ...
void deleteLinkList(LinkList *&L){ LinkList *p=L->next,*s,*q; while(p!=NULL){ q=p; while(q->next!=NULL ...