排序的程式設計與實現

2021-07-23 22:53:57 字數 1244 閱讀 4558

實驗目的:掌握常用的排序方法,並掌握 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...