資料結構課內實驗四

2022-04-30 10:06:06 字數 1281 閱讀 1887

實驗四排序的基本操作與實現

一、實驗目的

1. 複習c語言中指標、結構體、子程式呼叫等基礎知識;

2. 掌握常用的排序方法,並掌握用c語言實現排序演算法的方法;

3. 深刻理解排序的定義和各種排序方法的特點,並能加以靈活應用;

4. 了解各種方法的排序過程及其時間複雜度的分析方法。

二、實驗裝置

微機三、預習要求

1. 複習c語言中指標的用法,特別是結構體的指標的用法;

2. 理解各種常用的內部排序演算法以及外部排序演算法的一般步驟,如直接插入排序、希爾排序、簡單選擇排序、堆排序等等;

3. 複習各種方法的排序過程及其時間複雜度的分析方法;

4. 掌握各種排序演算法在解決實際問題的一般方法和步驟。

四、實驗內容

1. 內容:學生統計成績

給出n個學生的考試成績表,每條資訊由姓名和分數組成,試設計乙個演算法:

1> 按分數高低次序,列印出每個學生在考試中獲得的名次,分數相同的為同一名次;

2> 按名次列出每個學生的姓名與分數。

2. 實驗提示:為了完成學生成績的統計,程式需要完成以下三個步驟

1. 定義結構體。

2. 定義結構體陣列。

3. 定出主程式,對資料進行排序。

例如#define n 30

typedef struct student

student r[n];

/* 實現各種排序演算法 */

int main ( )

3. 實驗要求:

1. 採用快速排序演算法解決本問題。

3. 使用其它至少2種排序演算法實現該問題(如直接插入排序、希爾排序、簡單選擇排序、堆排序等)。

3. 比較各種排序演算法的優缺點。

五、實驗報告

1. 問題描述: 包括目標、任務、條件和約束的描述。

2. 設計:

⑴ 資料結構設計和核心演算法設計描述;

⑵ 各個程式模組必須要有相應的注釋;

⑶ 主要程式模組的輸入、處理(演算法框架描述)和輸出描述;

⑷ 主要程式之間的呼叫與被呼叫關係等。

3. 測試: 測試範例,測試結果,測試結果的分析與討論,測試過程中遇到的主要問題及所採用的解決措施.

4. 使用說明和作業小結:

⑴ 使用說明主要描述如何使用你的程式以及使用時的主要事項;

⑵ 在小結中說明程式的改進思想、經驗和體會,並回答教師布置的討論題。

5. 列印乙份程式清單及執行示例的結果。

6. 將以上各項文字材料及程式清單等裝訂成冊,形成乙個完整的實驗報告。

資料結構課內實驗報告

2013年 11月 22 日 目錄實驗一結構體程式設計 1 1 演算法思想描述 1 2 操作演算法的實 1 3 主測試程式 1 4 執行結果 2 實驗二線性表 3 1 演算法思想描述 3 2 操作演算法的實現 3 3 主測試程式 5 4 執行結果 5 實驗三堆疊 6 1 演算法思想描述 6 2 操作...

資料結構上機實驗四

實驗內容 廣義表的基本操作 實驗要求 1 廣義表的建立與顯示要作為函式被呼叫.2 把自己使用的廣義表結構明確的表達出來.3 基本上實現每個實驗題目的要求.分組要求 可單獨完成,也可兩人一組。實驗目的 1 熟悉c c 基本程式設計,培養動手能力.2 通過實驗,加深對廣義表的理解.評分標準 1 只完成第...

資料結構實驗四報告

實驗名稱 實驗四 題目二 學生姓名 班級 班內序號 學號 日期 2013年12月16日 1 實驗要求 使用鍊錶實現下面各種排序演算法,並進行比較。排序演算法 1 插入排序 2 氣泡排序 3 快速排序 4 簡單選擇排序 5 其他 要求 1 測試資料分成三類 正序 逆序 隨機資料 2 對於這三類資料,比...