實驗二之線性表

2021-06-27 22:16:03 字數 2062 閱讀 4342



一..實驗目的

鞏固線性表的資料結構,學會線性表的應用。

1.回顧線性表的邏輯結構,線性表的物理儲存結構和常見操作。

2.學習運用線性表的知識來解決實際問題。

3.進一步鞏固程式除錯方法。

4.進一步鞏固模板程式設計。

二.實驗內容

1.建立乙個n個學生成績的順序表,對錶進行插入、刪除、查詢等操作。分別輸出結果。

要求如下:

1)用順序表來實現。

2)用單鏈表來實現。

三 .主要操作運算演算法圖

四. **

1 )順序表

標頭檔案:

原始檔:

#include

#include "orderlist.h"

using namespace std;

template< class datatype >

grade< datatype >::grade( datatype a, int n)          //有參建構函式grade

}template

void grade::insert( int i,datatype x)                 //插入演算法insert

template

datatype grade ::delete(int i)              //刪除演算法delete

return 0;

}template//遍歷陣列

void grade::printgrade()

int main()

;gradegra1(a,12);

cout<

gra1.printgrade();

cout<

gra1.printgrade();

cout<

除錯結果:

2 )單鏈表

標頭檔案:

int n=0;

struct student

;原始檔:

#include

#include "linklist.h"

using namespace std;

student *creat()                                //建立鍊錶

p1=new student;

cin>>p1->num>>p1->score;

}delete p1;

p2->next=null;

return head;

}void pri(student * head)                  //輸出鍊錶

while(p!=null);

}student *del(student *head,int num)                 //刪除列表

p1=head;

while(num!=p1->num && p1->next!=null)

if(num==p1->num)

else 

cout

}student *insert(student * head, student * stud)                  //插入資料

else

while((p0->num>p1->num) && p1->next!=null)

if(p0->num<=p1->num)

else

n++;

return head;

}int main()

除錯結果:

五. 總結

總結線性表的兩種主要儲存結構:順序表和單鏈表

順序表是順序儲存結構,是用一組連續的儲存單元依次儲存資料元素,資料元素之間的邏輯關係是由元素的儲存位置來表示的;單鏈表是鏈結儲存結構,是用一組任意的儲存單元儲存資料元素,資料元素之間的邏輯關係是用指標來表示的。

實驗二 線性表實驗

建立乙個n個學生成績的順序表,對錶進行插入 刪除 查詢等操作。分別輸出結果。要求如下 1 用順序表來實現。2 用單鏈表來實現。1 順序表 標頭檔案seqlist建立 ifndef seqlist h define seqlist h const int maxsize 60 class seqlis...

線性表實驗

實驗內容 建立乙個n個學生成績的順序表,對錶進行插入 刪除 查詢等操作。分別輸出結果。要求如下 1 用順序表來實現。ifndef seqlist h define seqlist h const int maxsize 20 class seqlist seqlist int a,int n seq...

線性表實驗

檔案 ifndef seqlist h 注意這裡 ifndef endif的用法 define seqlist h const int maxsize 10 class seqlist seqlist int a,int n seqlist void insert int i,int x int d...