實驗一作業

2021-08-08 15:50:43 字數 1823 閱讀 4708

資料結構實驗報告(一)

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

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

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

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

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

設定線性表的資料元素為int型,線性表最多有10個元素。定義順序表的資料型別——順序錶類,包括插入、刪除、查詢、遍歷等基本操作。

查詢操作:

1.從第一位開始依次查詢與x值相同的元素;

2.找到即輸出下標為i的元素的序號i+1;

插入操作:

1.如果表滿了,則丟擲上溢異常;

2.如果元素的插入位置不合理,則丟擲位置異常;

3.將最後乙個元素直至第i個元素分別向後移動乙個位置;

4.將元素x填入位置i處;

5.表長加1。

刪除操作:

1.如果表空,則丟擲下溢異常;

2.如果刪除位置不合理,則丟擲刪除位置異常;

3.取出被刪除元素;

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

5.表長減1,返回被刪除值。

seqlist.h

const int maxsize = 100;

template

class seqlist

seqlist(datatype a, int n);

~seqlist(){}

int length()

datatype get(int i);

int locate(datatype x);

void insert(int i, datatype x);

datatype delete(int i);

void printlist();

private:

datatype data[maxsize];

int length; };

template

seqlist::seqlist(datatype a, int n)

template

datatype seqlist::get(int i)

} template

int seqlist::locate(datatype x)

template

void seqlist::insert(int i, datatype x)

template

datatype seqlist::delete(int i)

template

void seqlist::printlist()

list.cpp

#include

#include"seqlist.h"

using namespace std;

void main()

;seqlistl(list, 5);

l.printlist();

l.insert(3, 3);

l.printlist();

cout << l.locate(3) << endl;

l.delete(2);

l.printlist();

}  

執行結果如圖:

實驗一作業

1.問題 舉乙個例項,畫出採用prim演算法構造最小生成樹的過程,並按實驗報告模板編寫演算法。舉乙個例項,畫出採用kruskal演算法構造最小生成樹的過程,並按實驗報告模板編寫演算法。2.解析 1 prim演算法 首先從圖g中任意乙個頂點開始。假設這個頂點叫a。將a加入乙個群。然後比較群外所有與這個...

一 PTA實驗作業

本週要求挑選3道題目寫設計思路,除錯過程。設計思路用偽 描述。題目選做要求 順序表選擇一題 6 2,6 3,7 1選一題 單鏈表選擇一題 6 1不能選 有序表選擇一題 6 3 jmu ds 順序表刪除重複元素 6 2 jmu ds 單鏈表逆置 7 1 兩個有序鍊錶序列的合併 二.設計思路 偽 或流程...

實驗作業 鎖屏應用一

一 實驗 部分 meactivity import android.os.bundle import android.os.handler import android.os.message import android.annotation.suppresslint import android....