一、順序表
的儲存單元依次儲存資料元素的線性結構。
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...