选择排序 n^2
#include <iostream>
#include <stdlib.h>
using namespace std;
void swap(int *a,int *b) ;
void selection_sort(int arr[], int len);
int main()
{
int data[10];
int i;
cout<<"please input ten numbers!"<<endl;
for(i=0;i<10;i++)
{
cin>>data[i];
}
selection_sort(data,10);
for(i=0;i<10;i++)
{
cout<<data[i]<<" ";
}
return 0;
}
void swap(int *a,int *b) //交换
{
int temp = *a;
*a = *b;
*b = temp;
}
void selection_sort(int arr[], int len)
{
int i,j;
for (i = 0 ; i < len - 1 ; i++)
{
int min = i;
for (j = i + 1; j < len; j++)
if (arr[j] < arr[min])
min = j;
swap(&arr[min],& arr[i]);
}
}