從零開始一起學C語言(九) 資料結構

2021-09-12 16:00:43 字數 1675 閱讀 7907

目錄

一、資料結構的介紹

1、資料結構

2、資料結構的儲存方式

二、記憶體的動態開闢和釋放

1、記憶體的動態開闢

2、記憶體的動態釋放

三、鍊錶的建立

1、煉表頭的建立

四、鍊錶的讀和寫

1、建立任意數量的節點

2、鍊錶的寫

3、鍊錶的讀

五、鍊錶的插入

1、頭插法

2、尾插法

六、鍊錶的刪除

相互之間具有一定聯絡的資料元素的集合。資料元素之間的關係稱為邏輯結構。常見的四種基本邏輯結構:

1)集合:資料元素除了同屬於乙個集合外,沒有其他關係。

2)線性結構:資料元素之間存在一對一的關係。**簿

3)樹形結構:資料元素之間存在一對多的關係。磁碟的檔案系統

4)網狀結構:資料元素之間存在多對多的關係。交通網路

根據資料元素之間的關係可以分為順序儲存結構和鏈式儲存結構。

函式原型:void * malloc(size_t size);

函式作用:分配size個位元組的記憶體空間,並返回所分配記憶體的指標。

函式形參:size_t為自定義型別,unsigned int;

size為所需要分配的記憶體空間的大小。

不成功返回null。

函式原型:void free(void *block);

函式作用:釋放程式動態申請的記憶體空間,

以便能提高程式對記憶體的利用率。

每個節點分為資料域,指標域。

#include #include int create_link_head();

struct tag

;struct link

;struct link *phead;//頭指標

struct link *pnew; //指向新開闢記憶體的首位址

struct link *ptemp;//臨時指標

int main()

int create_link_head()

printf("建立煉表頭成功\n");

phead->pnext = null;

return 0;

}

int create_link_node(int n)

printf("建立了%d個節點\n",n);

return 0;

}

int write_link_data()

return 0;

}

int read_link_data()

return 0;

}

int add1_link()//頭插

zhong cha fa!!!!!!

int add2_link()//尾插法

ptemp->pnext = pnew;

return 0;

}

int dele_link()

ptemp = ptemp->pnext;

}printf("輸入有誤\n");

return -1;

}

從零開始一起學C語言(六) 結構體

目錄 一 結構體的引入 二 結構體的定義以及初始化 1 結構體的定義 2 結構體變數的初始化。三 結構體內元素的訪問 1 用結構體變數名 2 用結構體指標 四 結構體型別的大小 五 共用體 1 共用體的定義 2 共用體常用舉例 六 公用體的大小 七 列舉 現實生活中有很多變數需要描述,例如乙個人的資...

從零開始一起學C語言(八) 編譯預處理

目錄 一 編譯預處理 1 作用 2 包含標頭檔案 3 巨集定義 4 條件編譯 二 位運算 1 位運算子 2 寫1和寫0 三 32個關鍵字 四 模組化程式設計 以 開頭的命令,為編譯做準備工作,篩選出需要編譯的 include 從系統指定的目錄尋找指定的stdio.件。include stdio.h ...

從零開始學C語言

從零開始學c語言 閬苑祁寒 更新說明 此版本是最終版本。初始版本有關helloworld的內容調到了附錄部分。寫在前面 本文從乙個初學者的角度,給出了對c語言的簡單理解。最近一次更新調整了之前的敘述方式。目錄part1 從hello world講起 part2 知識結構梳理 part3 一路走來的習...