實驗五:查詢和排序
班級 b09513 學號 200940 姓名
一、實驗目的
1 掌握查詢的不同方法,並能用高階語言實現查詢演算法。
2 熟練掌握順序表和有序表的順序查詢和二分查詢方法。
3 掌握排序的不同方法,並能用高階語言實現排序演算法。
4 熟練掌握順序表的選擇排序、氣泡排序和直接插入排序演算法的實現。
二、實驗內容
1 建立給定的靜態查詢表。表中共包含十條學生資訊,資訊如下:
學號姓名班級 c++ 資料結構
1 王立 03511 85 76
2 張秋 03511 78 88
3 劉麗 03511 90 79
4 王通 03511 75 86
5 趙陽 03511 60 71
6 李豔 03511 58 68
7 錢娜 03511 95 89
8 孫勝 03511 45 60
2 使用順序查詢方法,從查詢表中查詢姓名為趙陽和王夏的學生。如果查詢成功,則顯示該生的相關資訊;如果查詢不成功,則給出相應的提示資訊。
3 使用直接插入排序方法,按姓名對學生資訊進行排序。輸出排序前和排序後的學生資訊表,驗證排序結果。
4 使用直接選擇排序方法,對學生資訊中的c成績進行排序。輸出排序前和排序後的學生資訊表,驗證排序結果。
5使用二分查詢方法,從查詢表中查詢c成績為79和80的學生。如果查詢成功,則顯示該生的相關資訊;如果查詢不成功,則給出相應的提示資訊。
6 使用氣泡排序方法,對學生資訊中的資料結構成績進行排序。輸出排序前和排序後的學生資訊表,驗證排序結果。
7 編寫乙個主函式,將上面函式連在一起,構成乙個完整程式。
8 將實驗源程式除錯並執行。
注意:每完成乙個操作必須進行輸出,以驗證操作的正確性。
三、實驗結果
#include
#include
#include
using namespace std;
const int max=100;
typedef struct
datatype;
typedef struct
snode;
void init(snode *t)
void create(snode *t,int a,string b,int c,int d,int e,int n建立
}void display(snode *t,int i輸出學生的相關資訊
void n_search(snode *t,string kn按姓名查詢
}void c_search(snode *t,int cs1二分查詢c成績
} if(flag==0)
cout<<"沒有該成績的學生!"< else
}void n_sort(snode *t,int n直接插入法對學生的姓名進行排序
}}}void c_sort(snode *t,int n)
}void s_sort(snode *t,int n冒泡法對資料結構排序
}int main()
; string b[8]=;
int c[8]=;
int d[8]=;
int e[8]=;
create(&s,a,b,c,d,e,8);
string names; int score;
cout<<"請輸入您要查詢的學生的姓名:"; cin>>names;
n_search(&s,names);
cout<<"請輸入您要查詢的學生的姓名:"; cin>>names;
n_search(&s,names);
cout<<"--------姓名排序--------"< cout<<"********排序前的輸出結果< for(i=1;i<9;i++)
display(&s,i);
n_sort(&s,8);
cout<<"********排序後的輸出結果< for(i=1;i<9;i++)
display(&s,i);
cout<<"------c++成績排序--------"< cout<<"********排序前的輸出結果< for(i=1;i<9;i++)
display(&s,i);
c_sort(&s,8);
cout<<"********排序後的輸出結果< for(i=1;i<9;i++)
display(&s,i);
cout《二分查詢法對c++成績的查詢< cout<<"請輸入您要查詢的學生的c++成績:"; cin>>score;
c_search(&s,score);
cout<<"請輸入您要查詢的學生的c++成績:"; cin>>score;
c_search(&s,score);
cout<<"-------資料結構排序-------"< cout<<"********排序前的輸出結果< for(i=1;i<9;i++)
資料結構實驗 排序
排序實驗 常用排序方法實現 實驗目的 1 熟悉常用的內部排序方法 插入排序 選擇排序 交換排序 基數排序和歸併排序 2 通過實驗,掌握排序的思路和方法,並能分析常用的排序方法的時間複雜度和穩定性。實驗要求 1 在vc 或tc環境下實現基本功能 2 先完成基本功能,基本功能為必做內容,有多餘時間的同學...
資料結構實驗報告五,查詢與排序
實驗六查詢與排序 一 實驗目的 1 理解掌握查詢與排序在計算機中的各種實現方法。2 學會針對所給問題選用最適合的演算法。3 熟練掌握常用排序演算法在順序表上的實現。二 實驗要求 掌握利用常用的查詢排序演算法的思想來解決一般問題的方法和技巧,進行演算法分析並寫出實習報告。三 實驗內容及分析 設計乙個學...
資料結構排序實驗報告
課程資料結構 實驗名稱實驗六 內部排序院系專業班級實驗地點 姓名學號實驗時間 指導老師實驗成績批改日期 一.實驗目的 1.熟悉相關的排序演算法 二.實驗內容及要求 1.實現兩種排序演算法 三.實驗過程及結果 實驗過程 源程式 include void main void charu a i 1 m ...