間接定址儲存的線性表 基本操作實現

2021-08-09 02:24:35 字數 1690 閱讀 5694

目的:

通過實際操作間接定址儲存的單鏈表,掌握間接定址儲存單鏈表的儲存結構以及驗證其操作的實現並進一步理解演算法與程式的關係。

內容:建立間接定址儲存的單鏈表並對已建立的單鏈表實現插入、刪除、查詢等基本操作。

間接定址j簡介:將陣列和指標結合起來的一種方法,它將陣列中儲存資料元素的的單元改為儲存指向改元素的指標。

間接定址儲存單鏈錶類的定義

#include#include//使用了setw()

using namespace std;

const int maxsize=100;

struct node

;class linklist

linklist(int a,int n); /*建立有n個元素的鍊錶*/

~linklist(){}

void insert(int i,int x); /*在第i個位置中插入元素值為x的結點*/

int length() /*求鍊錶的長度*/

int get(int i); /*按位查詢,在鍊錶中查詢第i個結點的元素值*/

int locate(int x); /*按值查詢*/

int delete(int i); /*刪除鍊錶中第i個結點*/

void printlist(); /*按序號依次輸出各元素*/

private:

node *ads[maxsize];

int length;

};

成員函式的定義

//帶參建構函式

linklist::linklist(int a,int n)

length=n;

}//插入演算法

void linklist::insert(int i,int x)

ads[i-1]->data=x;

length++;

} else

}//遍歷鍊錶的資料

void linklist::printlist()

else }

//按值查詢資料

int linklist::locate(int x)

} return 0;

}//刪除鍊錶中第i個結點

刪除資料的執行結果

心得:

1.間接定址將儲存資料元素的單元改為儲存指向該元素的指標,使得線性表可以實現隨機訪問。

2.從程式上看,演算法更容易理解而且更加優化,提高了插入和刪除的時間效能。

3.通過自己定義函式,對間接定址的優缺點有了更加深入的了解。

線性表綜合試驗(間接定址)

一 實驗目的 鞏固線性表的資料結構的儲存方法和相關操作,學會針對具體應用,使用線性表的相關知識來解決具體問題。二.實驗內容 1.建立乙個由n個學生成績的順序表,n的大小由自己確定,每乙個學生的成績資訊由自己確定,實現資料的對錶進行插入 刪除 查詢等操作。分別輸出結果。源 include includ...

線性表綜合實驗之間接定址

includeusing namespace std const int max 100 templatestruct node templateclass indirectadd t number get int i int location get t x void insert int i,t...

資料結構系列之線性表(間接定址)

ifndef indirectlist h define indirectlist h include using namespace std template class indirectiterator template class indirectlist int length const b...