1. 程式人生 > >線性表——順序存儲結構之靜態鏈表

線性表——順序存儲結構之靜態鏈表

引用 指針 進行 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 struct
space{ 2 ElemType data; //存放數據元素 3 int next; //存放元素的後繼在數組中的下標 4 }array[MAX];

  

  

線性表——順序存儲結構之靜態鏈表