線性表的鏈式實現

2021-09-06 03:20:09 字數 2853 閱讀 5871

1,有序鍊錶

成員變數和建構函式:

private

linearnode front;

private

intcount;

public

linkedorderedlist()

//三種鍊錶的介面公共操作(實現是一樣的)

public

intsize()

public

boolean

isempty()

public

object first()

return

front.getelement();

}public

object last()

linearnode last

=front;

//遍歷鍊錶求last的**

for(

inti =0

;i <

count-1

;i++

)last

=last.getnext();

return

last.getelement();

}public

object removefirst()

object result

=front.getelement();

front

=front.getnext();

count--;

return

result;

}public

object removelast()

linearnode last

=front;

for(

inti =0

;i <

count-1

;i++

)last

=last.getnext();

count--;

//count-1自動刪除最後乙個結點

return

last.getelement();

}public

object remove(object element)

else

if(front.getelement().equals(element))

else

pre

=pre.getnext();}}

return

result;

}public

boolean

contains(object element)

return

false;}

//有序鍊錶擴充套件的操作

public

void

add(comparable element)

else

if(element.compareto(front.getelement())

<0)

else

if(element.compareto(last.getelement())

>0)

else

current

=next;

next

=next.getnext();

} }

}public

static

void

main(string args) }

2,無序鍊錶

成員變數,建構函式,公共操作完全一樣,擴充套件的操作:

//

無序鍊錶擴充套件的操作

public

void

addtofront(object element)

public

void

addtorear(object element)

public

void

addafter(object after,object element)

else

if(temp.getelement().equals(after)

&&index

==count-1

)temp

=temp.getnext(); } }

3,索引鍊錶

擴充套件的操作:

//

索引鍊錶擴充套件的操作

public

void

add(object element)

linearnode node

=new

linearnode(element);

linearnode last

=front;

for(

inti =0

;i <

count-1

;i++

)last

=last.getnext();

last.setnext(node);

count++;

}public

void

add(

intindex,object element)

else }

public

void

set(

intindex,object element)

public

object get(

intindex)

public

intindexof(object element)

return-1

;}public

object remove(

intindex)

else

if(index

==count-1

) else }

鏈式線性表

2013 03 23 00 14 39 上學期的時候就大致看了資料結構與演算法分析的了,但感覺收穫比較少,總結原因是程式設計實踐少了,所以今年趁著老師上課,就多進行一些 的實踐,也準備拿一些acm的題目來練練。中午的時候就將鏈式表的 打了一遍,現在貼上來分享。為了節省時間,我的注釋也相對較少,有不懂...

鏈式線性表的java實現

鏈式線性表將採用一組位址任意的儲存單元存放線性表中的資料元素。鏈式結構的線性表不會按線性的邏輯順序儲存資料元素,它需要在每乙個資料元素裡儲存乙個指向下乙個資料元素的引用。鏈式結構克服了順序結構需要預先知道資料大小的缺點,可以充分利用計算機的記憶體空間,實現記憶體的動態分配。在插入和刪除操作上,比順序...

線性表的鏈式儲存實現

include include 下面的單鏈表是帶頭節點的 typedef int elementtype struct listnode typedef struct listnode list 函式宣告 int insert list tmp,elementtype x,int pos void ...