大話資料結構 順序表

2021-08-08 16:42:47 字數 1752 閱讀 4838

線性表就是0個或多個資料元素的有限序列; 元素之間存在順序, 除開頭結尾之外, 每個元素有且僅有乙個前驅元素, 後繼元素。線性表的順序儲存叫做順序表,簡單的說就是對陣列進行封裝,使得更好的滿足需求。

1. 線性表的順序儲存結構

線性表的順序儲存結構指的是用一段位址連續的記憶體依次儲存線性表的資料元素

2. 線性表的鏈式儲存結構鍊錶

3. 順序表python實現

class list:

"""線性表的順序儲存結構: 順序表

資料成員:

乙個陣列, 線性表的長度

方法成員:

1. 判斷線性表是否為空

2. 向線性表任意位置插入元素

3. 查詢線性表中是否存在某個值

4. 刪除任意位置的乙個元素

5. 獲取列表中任意位置的元素

6. 清空列表

"""def __init__(self, data):

self.list = data

self.length = self._get_list_length()

def _get_list_length(self): return len(self.list)

def is_empty(self):

# 1. 判斷線性表是否為空

if len(self.list) == 0: return true

else: return false

def insert(self, i, element):

# 2. 向線性表第i個位置插入元素

length = self.length

if i not in range(length): raise(exception("線性表長度不足"))

for j in range(i, length):

temp = self.list[j]

self.list[j] = element

element = temp

def locate_ele(self, element):

# 3. 對給定的某個值element定位, 如果存在返回-1

length = self.length

for i in range(length):

if self.list[i] == element:

return i

print("\n線性表中不存在".format(element))

return -1

def delete_i_ele(self, i):

# 4. 刪除第i個位置的元素

length = self.length

if i not in range(length): raise(exception("線性表長度不足"))

temp =

for j in range(i, length-1):

self.list = self.list[0:j-1] + temp

def get_i_ele(self, i):

# 5. 獲取第i個位置的元素

length = self.length

if i not in range(length): raise(exception("線性表長度不足"))

return self.list[i]

def clean(self): self.list =

大話資料結構 順序棧

main.cpp 順序棧 created by maggie on 18 8 21.include using namespace std define maxsize 100 typedef int selemtype typedef struct sqstack void initstack s...

大話資料結構 順序表 有序表 線性索引查詢

查詢 根據給定的某個值,在查詢表中確定乙個其關鍵字 唯一的標識乙個記錄 等於給定值的資料元素或資料記錄。靜態查詢 只查詢,不修改元素 線性表 順序查詢 二分查詢 動態查詢 查詢時,插入或者刪除元素 二叉排序樹 順序表查詢 順序查詢 針對靜態查詢表 也叫線性查詢o n 從頭開始遍歷,直到最後乙個記錄。...

大話資料結構 3 4 線性表的順序儲存結構

目錄 3.4.1 順序儲存定義 3.4.2 順序儲存方式 3.4.3 資料長度與線性表長度區別 3.4.4 位址計算方法 線性表有兩種物理儲存結構 順序儲存結構和鏈式儲存結構。線性表的順序儲存結構,指的是用一段位址連續的儲存單元依次儲存線性表的資料元素。線性表 a1,a2.an 的順序儲存如下 然後...