最近在學苦逼的資料結構 ,牽涉到鍊錶的演算法 ,好多的內容不好想通,所以就採用分而破之的想法 一天學一點 !
今天就學習了鍊錶的合併!
**的主要實現過程是這樣的:
(1)建立兩個不同的陣列,並賦值。
(2)把陣列的內容放在鍊錶中。這牽涉到鍊錶的建立。如果對鍊錶建立有啥不明白的可以看我下面的幾篇文章 。是在我初學鍊錶的時候做的鍊錶的增刪查改!
學生資訊管理系統分析
鍊錶的反轉
(3)把兩個不同的鍊錶連成乙個鍊錶。找到a鍊錶的尾部 和b鍊錶的頭部鏈結在一起就可以了!我覺得這個實現還是比較簡單的了!
(4)剩下的就是驗證了 ,即輸出合併後的鍊錶 !
#include#includestruct llist
;typedef struct llist node;
typedef node *llink;
//鍊錶內容的輸出
void printllist(llink ptr)
}//鍊錶的建立
llink createllist(int *array,int len)
return head;
}llink concatllist(llink ptr1,llink ptr2)
ptr->next= ptr2;
return ptr1;
}int main()
; int llist2[5] = ;
llink ptr,ptr1,ptr2;
ptr1 =createllist(llist1,6);
if( ptr1 == null )
ptr2=createllist(llist2,5);
if( ptr2 == null )
ptr = concatllist(ptr1, ptr2);
printllist(ptr);
return 0;
}
鍊錶煉表鍊表 wjm的最愛
建立單個節點 include include include malloc includetypedef struct node list using namespace std struct node int main 接下來是不帶頭結點的順序操作集 typedef int position ty...
鍊錶定義 鍊錶的插入 鍊錶的刪除 鍊錶的查詢
鍊錶的定義 鍊錶是一種常見的重要的資料結構。它是動態地進行儲存分配的一種結構。它可以根據需要開闢記憶體單元。鍊錶有乙個 頭指標 變數,以head表示,它存放乙個位址。該位址指向乙個元素。鍊錶中每乙個元素稱為 結點 每個結點都應包括兩個部分 一為使用者需要用的實際資料,二為下乙個結點的位址。因此,he...
雜湊表碰撞的鏈結法解決之雙向鍊錶刪除操作的代價
最近在看 演算法導論 在看到雜湊表的時候遇到了一些問題。在這篇博文中得到了解答。原博文中的 演算法導論 可能是第二版,與我手中的第三版的頁數略微不同。在第三版中,這個疑問點在145頁 英文p257 258 浣熊今天讀到 演算法導論 的第十一章雜湊表,看到中文書的第135頁 英文p224 225 時,...