實驗目的:掌握常用的排序方法,並掌握 c 語言實現排序演算法的方法;了解各種排序方法過程及依據原則,並掌握各種排序方法的時間複雜度和穩定性的分析方法。
實驗原理:參照課本 p.220, figure7.2;p.223,figure7.4;p.228,figure7.8;p.232-233, figure7.9-7.10; p240-243, figure 7.12-7.15.
實驗內容:統計成績
【問題描述】:給出 n 個學生的考試成績表,每條資訊由姓名和分數組成,利用排序演算法完成以下任務:
1.按照分數高低次序,列印出每個學生在考試中獲得的名次,分數相同的為同一名次。
2.按照名次列出每個學生的姓名和分數
【要求】學生的考試成績需要從鍵盤輸入資料建立,同時要設計輸出格式。
實驗要求:
能夠採用常用的排序演算法中的一種實現以上兩個任務;
相關**:
main.cpp
#include
#include
#include
using
std::string;
using
std::cin;
using
std::cout;
using
std::endl;
using
std::vector;
typedef
struct student stu;
struct student
;void input(vector
*list, int a)
}void sort(vector
*list, int a)}}
}void output(vector
list, int a)
}void rank(vector
*list, int a)
}}int main()
實驗結果
實驗環境
vs2015
python程式設計排序 python程式設計實現歸併排序
因為上個星期leetcode的一道題 median of two sorted arrays 所以想仔細了解一下歸併排序的實現。還是先闡述一下排序思路 首先歸併排序使用了二分法,歸根到底的思想還是分而治之。拿到乙個長陣列,將其不停的分為左邊和右邊兩份,然後以此遞迴分下去。然後再將她們按照兩個有序陣列...
程式設計實現歸併排序
歸併排序 merge sort 是建立在歸併操作上的一種有效的排序演算法,該演算法是採用分治法 divide and conquer 的乙個非常典型的應用。將已 有序的子串行合併,得到完全有序的序列 即先使每個子串行有序,再使子串行段間有序。若將兩個有序表合併成乙個有序表,稱為二路歸併。歸併過程為 ...
程式設計實現插入排序
插入排序 includevoid insertsort int par array,int array size else break par array j 1 temp int main int len sizeof a sizeof a 0 insertsort a,len for i 0 i...