源**
#include
using namespace std;
template< class t>
class node ;
const int maxsize = 100; //常量指定陣列長度
template
class indirect
//返回單鏈表的長度
t get(int i); //按位查詢,查詢第i個節點的元素
int locate(t x); //按值查詢,查詢鍊錶中第乙個值為x的元素,並返回序號
bool insert(int i, t x); //插入元素,在第i個位置插入值x
bool delete(int i); //刪除節點,刪除第i個節點
void printlist(); //遍歷節點
private:
node
*first;
int length;
node
*address[maxsize]; //node指標型的陣列
};template
indirect
::indirect() first = new node
; //空鍊錶的初始化,同無參建構函式 first->next = null; for (int i = 0; i
*s = new node
; s->data = a[i]; s->next = first->next; first->next = s; } length = n; node
*p =first; /*臨時指標*/ for (int j = 0; j < length;j++) /*將指標位址存入陣列*/ } template
indirect
::~indirect() //析構函式 length = 0; } template
t indirect
::get(int i) //按位查詢,返回第i個節點的元素 else if(i<=0) node
*p = address[i - 1]; return p->data; } template
int indirect
::locate(t x) //按值查詢,返回d第乙個匹配值的序號 p = p->next; count++; } return -1; //返回-1表示沒有找到 } template
bool indirect
::insert(int i, t x) //往煉表中插入元素,i為要插入的位置,x為要插入的值 else if (i<=0) else if (length>=maxsize) node
*p = first; int count = 0; int num = i - 1; while (p != null && count
next; count++; } if (p == null) else address[i] = s; //新位址 return true; } } template
void indirect
::printlist() } template
bool indirect
::delete(int i) node
*p = first; int count = 0; while (p != null && count < i - 1) if (p == null) else return true; } } int main() ; indirect
slist(a, 8); int flag,i,x,t; flag=0; while(flag==0) { cout<
>t; switch(t) { case 1: cout<
<
>i; x=slist.get(i); cout<
<
>x; i=slist.locate(x); cout<
<
>i; cout<>x; slist.insert(i,x); cout<
>i; slist.delete(i); cout<
執行結果
執行程式,進入主介面
輸入1,輸出表長
輸入6,遍歷
輸入2,查詢第6個位置的成績
輸入3,查詢成績91所在的位置
輸入4,在第六個位置插入85
輸入5,刪除第二個位置的成績
實驗3 間接定址
一 實驗目的 鞏固線性表的資料結構的儲存方法和相關操作,學會針對具體應用,使用線性表的相關知識來解決具體問題。二 實驗內容 建立乙個由n個學生成績的順序表,n的大小由自己確定,每乙個學生的成績資訊由自己確定,實現資料的對錶進行插入 刪除 查詢等操作。分別輸出結果。用間接定址實現 三 實驗步驟 1 依...
實驗3 間接定址
include using namespace std const int maxsize 100 templatestruct node templateclass indirectaddress 無參構造 templateindirectaddress indirectaddress 有參構造 ...
資料結構 六 間接定址
其實在作為鍊錶成員函式的箱子排序中已經用到間接定址,即指向指標的指標。chiannode bottom,top bottom new chainnode range 1 top new chainnode range 1 這裡的bottom儲存的資料型別為chainnode 的指標型別,指向指標的b...