#pragmaoncevoidSelectSort(int*array,intn){assert(array);intleft=0;intright=n-1;while(left<right){intminIndex=left;intmaxIndex=right;for(inti=left;i<=right;++i){if(array[i]<array[minIndex])minIndex=i;if(array[i]>array[maxIndex])maxIndex=i;}swap(array[left],array[minIndex]);if(left==maxIndex)//调整maxIndexmaxIndex=minIndex;swap(array[right],array[maxIndex]);++left;--right;}}voidSelectSortTest(){intarray[]={9,4,6,5,8,3,7,1,2,0};SelectSort(array,sizeof(array)/sizeof(array[0]));for(size_ti=0;i<sizeof(array)/sizeof(array[0]);++i){cout<<array[i]<<"";}cout<<endl;}

#include<iostream>usingnamespacestd;#include<assert.h>#include"SelectSort.h"intmain(){SelectSortTest();return0;}