Linux資料結構

2021-10-09 06:42:40 字數 1123 閱讀 6574

培養我們的高階思維: 資料結構演算法掌握–》有利於做上層應用開發

提高程式的執行效率,採用不同的儲存方式,資料的增刪改查操作的效率是不一樣的

主要內容

順序表的基本操作

鍊錶基本操作

(增加,刪除,更改,查詢資料)

棧和佇列

樹和二叉樹

常見的排序演算法

本質:就是前面c語言學習過的陣列,在陣列的基礎上做了二次封裝,封裝了結構體

總結成公式:

struct  你自己取名字

;

用結構體來表示單鏈表

總結成公式:

struct  單鏈表的名字

;

學習鍊錶的套路 -

-方法一

p=p->next; //p指向p的下乙個節點 賦值運算翻譯成指向

方法二p->next p的下乙個節點

方法三初學者,一定要畫圖分析鍊錶中指標的指向,否則很容易出現段錯誤

方法四當你畫完圖,**進入死胡同,要麼調換一些步驟或者使用兩個指標操作

任何鍊錶總結成模型

struct  鍊錶的名字

;

1. 特點

在普通單鏈表的基礎上,收尾相接

2. 對比單鏈表的寫法

while(p->next!=myhead)

3.總結鍊錶操作的技巧

1.畫圖寫步驟,步驟是交換

2.最厲害的**–》用兩個指標操作

3. p p->next p->next->next

4.

while

(p!=

null

)while

(p->next!=

null

)

雙向鍊錶的表示
struct  doublelist

;

特點:

最後乙個節點的next指標–》指向頭結點

頭節點prev指標–》指向尾部

注意的問題

第一:迴圈條件

while(p->next!=head)

第二:插入,初始化

首尾相接

Linux 程序 資料結構

程序相關函式的資料結構為 程序描述符task struct 管理這個資料結構的為各種等待佇列 執行佇列等。下面是任務 程序 資料結構,或稱為程序描述符。long state 任務的執行狀態 1不可執行,0可執行 就緒 0已停止 long counter 任務執行時間計數 遞減 滴答數 執行時間片。l...

Linux 記憶體 資料結構

在intel 80x86中,記憶體分頁管理是通過頁目錄表和記憶體頁表組成的二級表進行。頁目錄表和頁表的結構是一樣的,表項結構也相同。頁目錄表中每個表項 4b 用來定址乙個頁表,而每個頁表項 4b 用來指定一頁物理記憶體頁。因此當指定乙個頁目錄項和乙個頁表項,就可以唯一確定所對應的物理記憶體頁。頁目錄...

資料結構 資料結構緒論

資料結構是相互間存在一種或多種特定關係的資料元素的集合。程式設計 資料結構 演算法 資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及他們之間的關係和操作等相關問題的學科。資料元素是組成資料的 有一定意義的基本單位,是計算機中通常作為整體處理,也被稱為記錄。乙個資料元素可以由若干個資料項組...