1. 掌握常用的排序方法,並掌握用高階語言實現排序演算法的方法;
2. 深刻理解排序的定義和各種排序方法的特點,並能加以靈活應用;
3. 了解各種方法的排序過程及其時間複雜度的分析方法。
實驗在計算機機房,應用軟體vc++;
統計成績:給出n個學生的考試成績表,每條資訊由姓名和分數組成,試設計乙個演算法:
(1) 按分數高低次序,列印出每個學生在考試中獲得的名次,分數相同的為同一名次;
(2) 按名次列出每個學生的姓名與分數。
程式設計流程及分析:
先構建結構體陣列
再對構建好的結構體陣列輸入資料
再編寫氣泡排序及快速排序呼叫函式
最後編寫輸出函式,用來檢查程式,排序是否正確,並輸出排名
構建結構體的時候,結合題目資料,結構體只包含成績及姓名;輸入資料的時候,需要按照結構體內容進行輸入,並且在每次輸入之後,清空快取區;編寫排序函式的時候,需要按照排序規則進行編寫演算法,並且呼叫函式的時候,呼叫變數需要和函式格式對應;最後的輸出函式,重點在於排名的輸出,因為相同分數的是並列,並且後面一位的排名應該和前面總數相同,而不是單純的前面一位排名的下一位。
程式**在資源裡
資料結構實驗八 排序
實驗八 排序 實驗目的 掌握直接插入排序演算法 理解其演算法原理和適用情況。實驗內容 1.構建乙個陣列,包含n個待排序的資料 2.0號單元不用,用於存放監視哨 3.通過比較和移動實現資料排序,並輸出 4.估計演算法的時間複雜性。原始碼 include stdafx.h include using n...
實驗八 排序演算法實驗比較 資料結構
背景 排序是計算機內經常進行的一種操作,其目的是將一組 無序 的記錄序列調整為 有序 的記錄序列。假設含n個記錄的序列為 其相應的關鍵字序列為 這些關鍵字相互之間可以進行比較,即在它們之間存在著這樣乙個關係 kp1 kp2 kpn 按此固有關係將上式記錄序列重新排列為的操作稱作排序。排序演算法是電腦...
資料結構 實驗六 排序
本次實驗實現排序中的直接插入 氣泡排序 快速排序 簡單選擇排序 堆排序等排序演算法。下面放一下自己的 include include include datahead.h define maxsize 20typedef intkeytype typedef struct redtype typed...