一、實驗目的
鞏固線性表的資料結構的儲存方法和相關操作,
學會針對具體應用,
使用線性表的相關知識來解決具體問題。
建立乙個由
n個學生成績的順序表, n
的大小由自己確定,
每乙個學生的成績資訊由自己確定,
實現資料的對錶進行插入、刪除、查詢等操作。分別輸出結果。
1、依據實驗內容分別說明實驗程式中用到的資料型別的定義;
2、相關操作的演算法表達;
3、完整程式;
4、總結、執行結果和分析。
5、總體收穫和不足,疑問等。
1、採用c++的模板機制
2、新建dullinklist類宣告#ifndef linklist_h
#define linklist_h
templatestruct dulnode ;
templateclass dullinklist
;#endif
3、雙鏈表的插入#includeusing namespace std;
templatedullinklist::dullinklist()
templatedullinklist::dullinklist(datatype a,int n)
r->next=null; }
templatedullinklist::~dullinklist()
delete frist;
}
templatevoid dullinklist::insert(int i,datatype x)
if(p==null)throw"位置";
4、雙鏈表的刪除
templatedatatype dullinklist::delete(int i)
if(p==null||p->next==null)
throw"位置";
5、雙鏈表的定義
templateint dullinklist::locate(datatype x)
return 0;
} templatevoid dullinklist::printlist()
cout<6、主函式
int main()
; dullinklistl(r,5);
cout
#define linklist_h
templatestruct dulnode ;
templateclass dullinklist
;#endif
#includeusing namespace std;
templatedullinklist::dullinklist()
templatedullinklist::dullinklist(datatype a,int n)
r->next=null; }
templatedullinklist::~dullinklist()
delete frist;
} templatevoid dullinklist::insert(int i,datatype x)
if(p==null)throw"位置";
else
}
templatedatatype dullinklist::delete(int i)
if(p==null||p->next==null)
throw"位置";
else
} templateint dullinklist::locate(datatype x)
return 0;
} templatevoid dullinklist::printlist()
cout
cout<
通過查閱課本以及詢問同學,知道雙鏈表的做法與單鏈表有類似的地方。
是在單鏈表的每個結點中再設定乙個指向前驅結點的指標域就形成了雙鏈表。
但是在執行是還是出現了報錯的情況,修改了以後還是有不對的地方,這我就不太懂了。
結果還是可以執行出來的,不知道是**出了問題。
資料結構 建立學生成績的雙鏈表(實驗2 3)
一 實驗目的 鞏固線性表的資料結構的儲存方法和相關操作,學會針對具體應用,使用線性表的相關知識來解決具體問題。二 實驗內容 建立乙個由n個學生成績的順序表,n的大小由自己確定,每乙個學生的成績資訊由自己確定,實現資料的對錶進行插入 刪除 查詢等操作。分別輸出結果。三 實驗步驟 1 依據實驗內容分別說...
雙鏈表的實現
雙鏈表 1 雙向鍊錶 double linked list 雙 向 鍊錶中有兩條方向不同的鏈,即每個結點中除next域存放後繼結點位址外,還增加乙個指向其直接前趨的指標域prior。注意 雙鏈表由頭指標head惟一確定的。帶頭結點的雙鏈表的某些運算變得方便。將頭結點和尾結點鏈結起來,為雙 向 迴圈鍊...
雙鏈表的實現
資料結構 實驗二 線性表綜合實驗 一 實驗目的 鞏固線性表的資料結構的儲存方法和相關操作,學會針對具體應用,使用線性表的相關知識來解決具體問題 二.實驗內容 1.建立乙個由n個學生成績的順序表,n的大小由自己確定,每乙個學生的成績資訊由自己確定,實現資料的對錶進行插入 刪除 查詢等操作。分別輸出結果...