資料結構之順序表

2021-08-08 11:25:48 字數 2108 閱讀 5476

線性表的基本操作實現及其應用

1、熟練掌握線性表的結構特點,掌握順序表的基本操作。

2、鞏固 c++相關的程式設計方法與技術。

3、學會使用順序表解決實際問題。

建立 n 個元素的順序表(n 的大小和表裡資料自己確定),實現相關的操作:輸出,插入,刪除,查詢等功能。編寫完整程式實現,程式語言不限定,使用技術形式不定。

1.插入操作:

1.1 判斷插入的位置

>若插入的位置小於等於0,則輸出「非法位置」;

>若插入的位置大於當前線性表規定的最大長度,則輸出「位置過大,當前表的最大長度為:x」;

>若插入的位置大於當前陣列的長度加1,則輸出「位置過大,當前陣列的長度為:y」;

1.2 進行插入

>若插入的位置為當前陣列的長度加1,則直接在後面新增;

>若插入的位置小於當前陣列的長度,則將最後乙個元素直至第i個元素分別向後移動乙個位置,將元素x填入位置i處;

1.3 陣列長度加1。

2.刪除操作:

2.1 按位刪除:

2.1.1 判斷刪除的位置;

2.1.2 將下標為i,i+1,…,n-1處的元素分別移到下標i-1,i,…,n-2處;

2.1.3 陣列長度減1。

2.2 按值刪除:

2.2.1 遍歷陣列,檢查是否有該值

>若沒有,則輸出「沒有該值」;

>若有,則記錄這個值的角標,呼叫按位置刪除的方法

3.查詢操作:

3.1 按位查詢:

3.1.1 判斷查詢的位置

3.1.2 返回該位置的值

3.2 按值查詢:

3.2.1 遍歷陣列,檢查是否有該值

>若沒有,則輸出「沒有該值」;

>若有,則輸出該值的位置

4.獲取當前陣列的全部元素:遍歷陣列,輸出當前陣列的全部元素

5.獲取當前陣列的長度:直接返回當前陣列的長度

很多學過的知識都不太記得了,只能邊編寫邊複習,雖然效率有點低,但還是實現了基本的需求,如果有**需要改正,還望讀者指出。

資料結構之順序表

首先是標頭檔案seqlist.h ifndef seqlist h define seqlist h include includeusing namespace std define elemtype int define seqlist default size 10 typedef struc...

資料結構之順序表

順序表的思想容易了解,但是 不容易掌握,我這裡根據老師所提供的 進行一下簡單的總結 這個 包含順序表的查詢,插入,刪除,建表,輸出資料 includeusing namespace std define ok 1 define error 0 define overflow 2 typedef in...

資料結構之順序表

順序表就是按照順序儲存方式儲存的線性表,該線性表的結點按照邏輯次序一次存放在計算機的一組連續的儲存單元中如下圖 由於順序表是一次存放的,只要知道了該順序表的首位址以及每個資料元素所占用的儲存長度,那麼我們就很容易計算出任何乙個資料元素 也就是資料繫結點 的位置。1 結點資料型別 public cla...