資料結構動態分配
實作一些基本的功能:查找資料(按值和按位)、洗掉資料(通常按位)、插入元素(按位)、輸出表的長度以及列印表,
1>定義結構體

定義資料時盡量有很高的可讀性
對于參考符號&的使用方法:如果函式處理后對表的資料的執行結果需要帶回來,則就要使用參考符號
2>初始化表
動態鏈表不同于靜態鏈表,靜態鏈表在定義后系統會自動為其分配記憶體空間,動態鏈表分配記憶體空間常使用函式malloc(釋放空間使用free函式)兩者都有一個共同的頭檔案#include<stdlib.h>
malloc函式決議:malloc的全稱是memory allocation,中文叫動態記憶體分配,用于申請一塊連續的指定大小的記憶體塊區域以void*型別回傳分配的記憶體區域地址,當無法知道記憶體具體位置的時候,想要系結真正的記憶體空間,就需要用到動態的分配記憶體,且分配的大小就是程式要求的大小,而系統為其分配的記憶體空間為:初始鏈表資料數量*數量型別 L.data=(int *)malloc(sizeof(int)*Initsize)---資料型別要對應一致,malloc是強制轉換
同時指標data是指向存盤地址的首地址,按元素型別所占空間向后移動查詢

3>向表中輸入一些資料


4>為表的容量擴容
因為malloc是為表開辟一個連續的空間所以,我重新分配空間時也是重新對表分配了一片連續的地址,所以我們需要對其進行資料的轉移,在轉移之后對表的容量進行增加,

對于設定指標p是方便對資料進行遷移

5> 查找資料(按位)


6>洗掉元素
對于連續的空間洗掉元素就是將洗掉元素位置后所有元素向前移動

可以對洗掉位置進行判斷是否合法

7>插入資料(按位)
對于插入位置判斷和洗掉資料相同主要從表當時長度和表的容量以及插入位置入手判斷


8>main()函式內容

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/250293.html
標籤:其他
上一篇:馬克思主義基本原理_復習綱要
