选择排序--写起来简单多了:
- #include <iostream>
- #include <stdlib.h>
- #include <time.h>
- using namespace std;
- int g_nCases = 0;
- template<class T>
- void SelectedSort(T array[], int n)
- {
- int nMiniIndex;
- for(int i=0; i<n; i++){
- nMiniIndex = i;
- for(int j=i+1; j<n; j++){
- if(array[nMiniIndex]>array[j]){
- nMiniIndex = j;
- }
- }
- if(nMiniIndex!=i){
- swap(array[nMiniIndex], array[i]);
- }
- }
- }
- template<class T>
- void printArray(T array[], int n)
- {
- cout<<"Case "<<g_nCases++<<" :"<<endl;
- for(int i=0; i<n; i++)
- cout<<array[i]<<", ";
- cout<<endl;
- }
- int main(int argc, char *argv[])
- {
- srand((unsigned)time(NULL));
- const int N = 1000;
- int array[N];
- // Init
- for(int i=0; i<N; i++){
- array[i] = rand()%N;
- }
- printArray(array, N);
- SelectedSort(array, N);
- printArray(array, N);
- return 0;
- }
转载于:https://blog.51cto.com/tuoxie174/606138