列表(抽象資料型別)的python實現

2021-10-11 14:41:07 字數 2950 閱讀 2677

#鍊錶的python實現

#建立乙個node類

class

node

:def

__init__

(self,initdata)

: self.data = initdata

self.

next

=none

defgetdata

(self)

:return self.data

defgetnext

(self)

:return self.

next

defsetdata

(self,newdata)

: self.data = newdata

defsetnext

(self,newnext)

: self.

next

= newnext

#實現無序列表

class

unorderedlist

:def

__init__

(self)

: self.head =

none

defisempty

(self)

:return self.head ==

none

defadd

(self,item)

: temp = node(item)

temp.setnext(self.head)

self.head = temp

defsize

(self)

: current = self.head

count =

0while current !=

none

: count = count +

1 current = current.getnext(

)return count

defsearch

(self,item)

: current = self.head

found =

false

while current !=

none

andnot found:

if current.getdata(

)== item:

found =

true

else

: current = current.getnext(

)return found

defremove

(self,item)

: current = self.head

previous =

none

found =

false

while

not found:

if current.getdata(

)== item:

found =

true

else

: previous = current

current = current.getnext(

)if previous ==

none

:#當要刪除的項恰好是第一項是,第一項的下一項變成頭結點

self.head = current.getnext(

)else

:#刪除項的後一項變成刪除項前一項的後一項

previous.setnext(current.getnext())

#實現有序列表

class

orderedlist

:def

__init__

(self)

: self.head =

none

defsearch

(self,item)

: current = self.head

found =

false

stop =

false

while current !=

none

andnot found and

not stop:

if current.getdata(

)== item:

found =

true

else

:if current.getdata(

)> item:

stop =

true

else

: current = current.getnext(

)return found

defadd(self,item)

: current = self.head

previous =

none

stop =

false

while current !=

none

andnot stop:

if current.getdata(

)> item:

stop =

true

else

: previous = current

current = current.getnext()

temp = node(item)

if previous ==

none

: temp.setnext(self.head)

self.head = temp

else

: temp.setnext(current)

previous.setnext(temp)

列表(抽象資料型別)

列表 抽象資料型別 維基百科,自由的百科全書 這篇文章是關於順序資料結構。對於隨機訪問資料結構,請參閱陣列資料型別。在電腦科學中,列表或序列是一種抽象資料型別,表示可數數量的有序值,其中相同的值可能會出現多次。列表的例項是有限序列的數學概念的計算機表示 列表的 潛在地 無限型別是流。1 3.5列表是...

Python 抽象資料型別

定義 指的是乙個值的集合和定義在該值集合上的一組操作的總稱。資料結構不同於資料型別,也不同於資料物件,它不僅要描述資料型別的資料物件,而且要描述資料物件各元素之間的相互關係。定義 指乙個數學模型及定義在該模型上的一組操作。作用 目的在於隱藏運算實現的細節和內部資料結構,同時向使用者提供該資料型別的介...

抽象資料型別

本篇文章簡單的講解下表 棧 佇列。首先先了解一下什麼是抽象資料型別。它是這麼定義的 抽象資料型別 abstract data type,即adt 是帶有一組操作的一些物件的集合。那麼adt怎麼理解呢?首先你只需要記住表 集合 圖以及與他們各自的操作一起形成的物件都可以被看做抽象資料型別.這就跟整型 ...