資料結構之基本線性結構

2021-09-29 11:42:15 字數 1568 閱讀 9122

用變數last記錄當前最後乙個元素在陣列中的位置,即last起乙個指標的作用

//當表空時last = -1

typedef

struct

seqlist;

//順序表的初始化

seqlist *

init_seqlist()

//插入運算

//在表的第i個位置插入乙個值為x的元素

*## 插入時需要檢查的情況

1. 表是否已滿

2. 插入的位置是否正確

3. 正確插入*

intinsert_seqlist

(seqlist *l,

int i,datatype x)

//檢查插入位置是否正確,表中的最後乙個位置是l->last+1,表後面乙個元素是l->last + 2

if(i <

1|| i > l-

>last +2)

//正確插入,第i個位置即為下標為i-1的陣列元素,即將下表從i-1往後移動

for(j = l-

>last; j >= i-

1;j++

)//將元素x插入進去

l->data[i-1]

= x;

//更變last

l->last ++

;return1;

}//刪除運算

*## 刪除時需要檢查的情況

1. 刪除的位置是否正確

2. 正確刪除*

intdelete_seqlist

(seqlist l,

int i)

//從下標為i的元素依次向前移動

for(j = i;j <= l-

>last;j++

) l-

>last--

;return1;

}//按值查詢運算

intlocation_seqlist

(seqlist *l,datatype x)

//查詢失敗,返回的是-1

if(i >l-

>last)

return-1

;//查詢成功,返回的是儲存位置

}

看博主寫的比較清晰,就引用了一下嘻嘻嘻

快速排序演算法here

快速排序演算法每次將比基準大的數放在基準的一邊,將比基準小的數放在基準的另一邊,每次設定基準i和基準j

void

part

(seqlist * l)

if(i < j)

while

(data[i]

<= x && i < j)

if(i < j)

}}

資料結構之線性結構

資料結構學習虛函式,幾個知識點 1 抽象類函式本身不能直接例項化,需要其子類例項化虛函式,才能例項化。繼承抽象類的子類必須重寫虛函式,具體函式可實現,也可不實現。2 const修飾符,若修飾函式,則函式引數不能被改變。若修飾成員變數,則成員變數在使用過程中不被改變。修飾傳入引數,則避免引數被改變。3...

資料結構之線性結構和非線性結構

線性結構作為最常用的資料結構,其特點是資料元素之間存在一對一的線性關係 線性結構有兩種不同的儲存結構,即順序儲存結構和鏈式儲存結構。順序儲存的線性表稱為順序表,順序表中的儲存元素是連續的 鏈式儲存的線性表稱為鍊錶,鍊錶中的儲存元素不一定是連續的,元素節點中存放資料元素以及相鄰元素的位址資訊 常見的線...

資料結構實驗之線性結構

輸入格式說明 以指數遞降方式輸入多項式非零項係數和指數 絕對值均為不超過1000的整數 數字間以空格分隔。輸出格式說明 以與輸入相同的格式輸出導數多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。樣例輸入與輸出 序號輸入輸出1 3 4 5 2 6 1 2 0 12 3 10 1 6 ...