數據結構---關於順序表、鏈表的一些事

一、順序表

1.順序表:用一段地址連續的存儲單元依次存儲數據元素的線性結構。

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++)
	{
		NewArray[i] = pSLD->array[i];
	}
	free(pSLD->array);
	pSLD->array = NewArray;

具體的一些代碼實現過程戳這裏啦~

https://blog.csdn.net/Z_JUAN1/article/details/80749333

二、鏈表

鏈表:一種鏈式存儲的線性表,用一組地址任性的存儲單元存放線性表的數據元素,稱存儲單元爲一個節點。

  1.  DataType    data;  
  2.     struct SListNode *pNext;  

鏈表分爲:單鏈表、雙鏈表、雙向循環鏈表

具體一些代碼點這裏啦~

https://blog.csdn.net/z_juan1/article/details/80729933

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章