資料結構 關於順序表 鍊錶的一些事

2021-08-20 20:48:57 字數 1080 閱讀 1792

一、順序表

的儲存單元依次儲存資料元素的線性結構。

2.位址連續的空間,一般情況下採用陣列,陣列有靜態陣列和動態陣列

因此,順序表分為靜態順序表、動態順序表

靜態順序表

結構體變數分別為:乙個陣列、有效元素的個數

datatype array[max_size];  //儲存資料的空間

// int size; //1.有效資料 2.可通過下標方式進行訪問

動態順序表:(可以聯想為他是乙個桶)

結構體變數為:資料塊指標(桶在哪)、當前有效資料個數(有多少水)、容量(痛的容量)

datatype	    *array;

int capacity;

int size;

在這裡存在乙個擴容的過程

1.容量變大              2.開闢空間            3.將老資料寫進新空間                  4.釋放老空間           5.將新空間掛起

psld->capacity *= 2;

datatype *newarray = (datatype *)malloc(sizeof(datatype)*psld->capacity);

int i;

for (i = 0; i < psld->size; i++)

free(psld->array);

psld->array = newarray;

具體的一些**實現過程戳這裡啦~

二、鍊錶

datatype    data;  

struct slistnode *pnext;  

鍊錶分為:單鏈表、雙鏈表、雙向迴圈鍊錶

具體一些**點這裡啦~

資料結構《順序鍊錶》

include using namespace std template class sqlist template sqlist sqlist int m template sqlist sqlist template void sqlist createlist int n template t...

資料結構 順序表與鍊錶

順序表插入操作 temp seqlist list temp賦值為乙個結構體變數 for i temp length i pos i pos是插入的位置,注意是ta是下標 temp i int node 放新結點 temp length 刪除操作 for int i pos 1 ilength i ...

資料結構 鍊錶的一些問題

題 1 找到鍊錶的倒數第n個節點 分析 有效方法為使用2個指標node和temp。首先,2個指標都指向表頭結點,僅當temp 沿鍊錶 進行了 n 1 次移動,node開始一起移動,直至temp到達尾節點結束,此時node指標指向的就是倒數第n個節點 public listnode getnodefr...