# 用列表實現順序表的基本操做
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...