原创 數據結構基礎(9) --單鏈表的設計與實現(2)之高級操作

鏈表的鏈接:     將第二條鏈表的所有內容鏈接到第一條鏈表之後, 其完整實現代碼與解析如下: [cpp] view plain copy   //鏈表的鏈接   template <typename Type> 

原创 數據結構基礎(15) --基數排序

基數排序是一種藉助“多關鍵字排序”的思想來實現“單關鍵字排序”的內部排序算法。 實現多關鍵字排序通常有兩種作法:    最低位優先法(LSD)     先對K[0]{基數的最低位}進行排序,並按 K(0) 的不同值將記錄序列分成若

原创 史上最全設計模式導學

權聲明:本文爲博主原創文章,未經博主允許不得轉載。    聖誕獻禮!           2012年-2013年,Sunny在CSDN技術博客中陸續發表了100多篇與設計模式學習相關的文章,涵蓋了七個面向對象設計原則和24個設

原创 數據結構基礎(14) --鏈式隊列的設計與實現

 鏈式隊列是基於單鏈表的一種存儲表示, 其形狀如下圖所示:       (隊列的隊頭指針指向單鏈表的第一個結點, 隊尾指針指向單鏈表的最後一個結點, 注意沒有無用的空[頭/尾]節點)     用單鏈表表示的鏈式隊列特別適合於數據元

原创 TCP/IP協議(三)---傳輸層

傳輸層的主要功能     1)傳輸層爲應用進程之間提供端到端的邏輯通信(網絡層是爲主機到主機提供邏輯通信)。     2)複用和分用: 複用是指發送方不同的應用進程都可以使用同一個傳輸層協議傳送數據; 分用是指接收方的傳輸層在剝去

原创 Tcpdump 和 Wireshark 的結合使用(二)

在上一篇博文中我們分別介紹了Tcpdump 和 Wireshark 的簡單使用,這一節我們將介紹使用Wireshark 來分析 Tcpdump 抓住的網絡包,主要分析TCP三次握手的過程。 1.首先我們在Linux系統運行 下面的命令抓

原创 數據結構基礎(7) --循環隊列的設計與實現

隊列     隊列簡稱隊, 也是一種操作受限的線性表, 只允許在表的一端進行插入, 而在表的另一端進行刪除.其特點爲”先進先出(FIFO)”,故又稱爲先進先出的線性表,簡單隊列如圖所示:   循環隊列     順序隊列有一個先天

原创 數據結構基礎(3) --Permutation & 插入排序

Permutation(排列組合) 排列問題: 設R = {r1, r2, ... , rn}是要進行排列的n個元素, Ri = R-{ri}; 集合X中元素的全排列記爲Permutation(X), (ri)Permutation(

原创 數據結構基礎(11) --循環鏈表的設計與實現

循環鏈表:最後一個結點的指針域的指針又指回第一個結點的鏈表;     循環單鏈表與單鏈表的區別在於:表中最有一個節點的指針不再是NULL, 而改爲指向頭結點(因此要對我們原來的MyList稍作修改), 從而整個鏈表形成一個環.

原创 數據結構基礎(5) --歸併排序

歸併排序的基本思想:     將兩個或兩個以上的有序子序列”歸併”爲一個有序序列:假定待排序表含有n個記錄, 則可以看成是n個有序的子表, 每個子表長度爲1, 然後兩兩歸併, 得到[n/2]個長度爲2或1的有序表,; 再量量歸併, .