用列表實現順序表的基本操做

2021-10-09 14:36:54 字數 2561 閱讀 9699

# 用列表實現順序表的基本操做

class

seqlist()

:def

__init__

(self,max_space=30)

: self.max_space = max_space #max_space最大分配空間

self.sl = max_space*[0

]# 申請乙個列表

self.length =

0# 記錄實際元素的個數

def(self,data)

:#追加元素data

if self.length == self.max_space:

print

("順序表已滿,不能再新增元素"

)else

: self.sl[self.length]

= data

self.length +=

1def

printdata

(self)

:# 遍歷操作

for i in

range

(self.length)

:print

(self.sl[i]

,end=

" ")

print

("\n"

)def

insertdata

(self,index,data)

:# 插入元素的操作

if self.length == self.max_space:

print

("順序表已滿"

)else

:if index<

0or index>self.length:

print

("位置不合法"

)else

: i = self.length -

1while i >= index:

self.sl[i+1]

= self.sl[i]

i -=

1 self.sl[index]

= data

self.length +=

1def

deleteindex

(self,index)

:# 按索引元素

if self.length ==0:

print

("順序表為空的"

)else

:if index<

0or index >=self.length:

print

("位置不合法"

)else

: i = index

while i < self.length:

self.sl[i]

=self.sl[i+1]

self.length =self.length-

1def

searchdata

(self,data)

:# 按值查詢元素

for i in

range

(self.length-1)

:if self.sl[i]

==data:

break

if i ==self.length:

print

("沒找到這個元素"

)return-1

else

:print

("找到了"

)return i

defdeletedata

(self,data)

: i = self.searchdata(data)

if i !=-1

: self.deleteindex(i)

s = seqlist(

)num =

int(

input

("請輸入追加元素的個數"))

for i in

range

(num)

: data =

int(

input

("請輸入追加的元素"))

s.printdata(

)index =

int(

input

("請輸入插入位置"))

data =

int(

input

("請輸入插入元素"))

s.insertdata(index,data)

print

("插入後:"

)s.printdata(

)inde =

int(

input

("請輸入刪除位置"))

s.deleteindex(inde)

print

("刪除後:"

)s.printdata(

)inde =

int(

input

("請輸入刪除的元素"))

s.deletedata(

)

堆疊基本操做 順序儲存

堆疊資料結構只允許資料自有序列表 前端 做輸入,輸出操作 最後被輸入的資料項會最先被取出來 具有先進後出的filo first in last out 的特性 堆疊的應用舉例 回到原來的程式中 表示式的轉換與求值 二叉樹遍歷 使用stack類 stack類表示後進先出的物件堆疊,它通過五個操作對類v...

學生表 用順序表實現

實驗內容 定義乙個包含學生資訊 學號,姓名,成績 的的順序表,使其具有如下功能 1 根據指定學生個數,逐個輸入學生資訊 2 逐個顯示學生表中所有學生的相關資訊 3 根據姓名進行查詢,返回此學生的學號和成績 4 根據指定的位置可返回相應的學生資訊 學號,姓名,成績 5 給定乙個學生資訊,插入到表中指定...

用C 實現順序表

seqlist.h include include using namespace std typedef int datatype class seqlist delete array array null array newarray capacity 2 capacity private da...