線性表中單鏈表的的理解和實現 java

2021-09-10 01:24:03 字數 1956 閱讀 8633

線性表鏈式儲存結構的特點是:用一組任意的儲存單元儲存線性表的資料元素。這組是儲存單元可以是連續的,也可以是不連續的。通俗點就是將實體地址上不連續的資料鏈結起來,通過指標來對實體地址進行操作,實現功能。

那麼對於鍊錶中的資料元素來說,除了儲存其本身的資訊之外,還需儲存乙個只是其直接後繼的資訊(就是直接後繼的儲存位置)。這兩部分組成資料元素的儲存映像,稱為節點。節點包括兩個域:儲存資料元素資訊的域成為資料域;儲存直接後繼儲存位置的域稱為指標域,n個節點的鏈成乙個鍊錶,即線性表。

宣告乙個node介面用來規範單鏈表的節點的特性

/**

* 規範單鏈表的節點的特性

* @author shanlei

* */

public inte***ce node

在定義乙個slnode類來表示節點映像

package 單鏈表;

public class slnode implements node

public slnode(slnode next, object obj)

@override

public object getdata()

@override

public void setdata(object obj)

}

package 單鏈表;

import 線性表的順序結構.list;

public class singlelist implements list

//獲得序號為index的元素的前驅節點

public slnode getprenode(int index)

return p; }

//獲得指定元素的前驅節點

public slnode getprenode(object obj)

return null; }

@override

public int size()

@override

public boolean isempty()

@override

public boolean insert(int index, object obj) throws exception

@override

public boolean delete(int index) throws exception

@override

public object getelem(int index)

return p;

} @override

public int searchlist(object obj)

@override

public void destroylist()

@override

public void clearlist()

@override

public object locateelem(object obj)

public static void main(string args) throws exception

system.out.println(((slnode) list.getelem(3)).getdata());

system.out.println(list.delete(3));

system.out.println(list.delete(5));

system.out.println(list.size());

for (int i = 1; i <= 9; i++) }}

線性表中順序表的實現和單鏈表的實現

線性表 線性表儲存結構 基類介面 public inte ce list 簡單實現 順序表 public class arraylist implements list 陣列初始長度 public arraylist int initialcapacity override public intsi...

C C 實現線性表中的迴圈單鏈表

資料結構 typedef struct lnodelnode,clinklist 單鏈表的原子操作實現 1.建立迴圈單鏈表 status listcreate cl clinklist l,lnode tail,int n p next l 表尾指向表頭 tail p return ok 2.刪除迴...

2 2 線性表的單鏈表

ps 1 p l的結點都是指標型別 2 頭結點插入與輸出的順序相反 3 注意左值與右值的區別 p next q next q next是指到的下乙個結點,非指標本身 p next是指標本身 即p的指標域 與左值右值有關 4 後移用p p next 不用 p 因為位址不連續 p next 表示指標變數...