線性表——順序存儲結構之靜態鏈表
阿新 • • 發佈:2018-05-10
引用 指針 進行 tran mil 線性表 對象 沒有 遊標
引言:C語言中具有的指針能力,可以使它非常容易地操作內存中的地址和數據。後來的面向對象語言,如Java,C#等,雖然沒有使用指針,但由於啟動了對象引用機制,從某種角度也間接實現了指針的某些作用。但是對於一些早期編程高級語言:Basic、fortran等,不存在指針。在沒有指針的情況下,要想使用鏈表,就要用到靜態鏈表了。
用數組描述的鏈表稱為靜態鏈表(遊標實現法) 。
那麽怎麽實現呢?
首先,我們讓數組中的元素都是由兩個數據域組成,data和next。data用來存放元素,next相當於鏈表中的next指針,用來存放元素的後繼在數組中的下標。
在定義結構體之前,先進行準備工作:
1 #define MAX 100 //假設此靜態鏈表的最大長度是100 2 #define true 1 //返回值,true為真 3 #define false 0; //返回值,false為假 4 typedef int ElemType; //存放數據元素的數據類型,這裏設置為int類型 5 typedef int Boolean; //偽裝成Java代碼的boolean類型,返回1相當於True,返回0相當於返回false
結構體實現如下:
1 typedef structspace{ 2 ElemType data; //存放數據元素 3 int next; //存放元素的後繼在數組中的下標 4 }array[MAX];
線性表——順序存儲結構之靜態鏈表