資料結構與演算法複習 選擇排序 C 實現

2021-10-03 09:48:57 字數 1719 閱讀 2463

#include

#include

"student.h"

#include

"sorttesthelper.h"

using namespace std;

/** * 選擇排序

* @tparam t 使用模板可以接受任意型別引數

* @param arr 待排序的陣列

* @param n 陣列大小

*/template

void

selectionsort

(t arr,

int n)

//交換找到的最小值和之前的最小值

swap

(arr[i]

, arr[minindex]);

}}}int

main()

#ifndef test_student_h

#define test_student_h

#include

#include

using namespace std;

/** * 學生結構體

*/struct student

//過載輸出運算子

friend ostream &operator<<

(ostream &os,

const student &student)};

#endif

//test_student_h

#ifndef test_sorttesthelper_h

#define test_sorttesthelper_h

#include

#include

#include

#include

using namespace std;

namespace sorttesthelper

return arr;

}/**

* 列印陣列

* @tparam t

* @param arr 接收的陣列

* @param n 陣列大小

*/template

void

printarray

(t arr,

int n)

cout << endl;

}/**

* 判斷陣列是否有序

* @tparam t

* @param arr

* @param n

* @return

*/template

bool issorted

(t arr,

int n)

return true;

}/**

* 計算排序花費的時間

* @tparam t

* @param sortname

* @param sort

* @param arr

* @param n

*/template

void

testsort

(const string &sortname,

void

(*sort)

(t ,

int)

, t arr,

int n)

}#endif

//test_sorttesthelper_h

資料結構與演算法 複習 直接選擇排序 堆排序

程式說明 複習 直接選擇排序 include include struct recordnode 記錄 型別 typedef struct recordnode precordnode struct sortobject 排序目標 typedef struct sortobject psortobj...

資料結構與演算法 排序 選擇排序

資料結構與演算法 排序 選擇排序 sort selectsort include includevoid selectsort int list,int len if print list,len for selectsort int minkey int list,int i,int len if...

資料結構與演算法 選擇排序

選擇排序 從小到大 的基本思想是,首先,選出最小的數,放在第乙個位置 然後,選出第二小的數,放在第二個位置 以此類推,直到所有的數從小到大排序。在實現上,我們通常是先確定第i小的數所在的位置,然後,將其與第i個數進行交換。下面,以對 3 2 4 1 進行選擇排序說明排序過程,使用min index ...