straightselectsorter.h
//直接選擇排序類
#include "sorter.h"
template
record>
class
straightselectsorter:public sorter
;//直接選擇排序,array為待排序陣列,n為陣列長度
template
record>
void straightselectsorter
::sort
(record
array, int
n) }
swap(array,i,smallest);}}
sorter.h
#if !defined(afx_sorter)
#define afx_sorter
//總排序類
template
class sorter;
//交換陣列中的兩個記錄
template
void sorter::swap(record array,int i,int j)
//輸出陣列內容
template
void sorter::printarray(record array, int n)
//返回乙個0到n-1之間的隨機數
資料結構 直接選擇排序
直接選擇排序和直接插入排序有點類似,因為在整個排序過程中都將資料分為有序區和無序區,不同的是直接插入排序是將無序區的第乙個元素直接插入到有序區中合適位置以形成乙個更大的有序區,剛開始認為有序區的長度為1,而直接選擇排序是從無序區選乙個最小的元素直接放到有序區的最後,剛開始認為它的有序區長度為0。設待...
資料結構 直接選擇排序
直接選擇排序 straight select sorting 也是一種簡單的排序方法,它的基本思想是 第一次從r 0 r n 1 中選取最小值,與r 0 交換,第二次從r 1 r n 1 中選取最小值,與r 1 交換,第i次從r i 1 r n 1 中選取最小值,與r i 1 交換,第n 1次從r ...
資料結構 選擇排序(直接選擇 堆排序)
1 選擇排序的基本思想 每一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置 或末尾 直到全部待排序的資料元素排完。選擇排序可分為直接選擇排序 堆排序。2 直接選擇排序 2.1 演算法步驟 1.在元素集合array i array n 1 中選擇關鍵碼最大 小 的資料元素 2...