SelectSort(选择排序)
选择排序与冒泡排序的思想有点像,就是交换,找到一个min,然后不停的swap,直到小的数全部交换到前面,这样数组就完成了排序。
算法思想与冒泡很像,感兴趣的可以看看我的BubbleSort。
代码如下:
#include<iostream>
#include<cmath>
#include<vector>
using namespace std;
void SelectSort(int arr[],int length)
{
for (int i = 0;i < length - 1;i++)
{
int min = i;
for (int j= i+1; j <length ; j++)
{
if (arr[min] > arr[j])
{
min = j;
}
swap(arr[min], arr[i]);
}
}
}
int main()
{
int arr[] = { 1,1,3,3,2,7,7,8,9,0 };
int length = (int) sizeof(arr) / sizeof(arr[0]);
SelectSort(arr, length);
for (int i = 0;i < length;i++)
{
cout<< arr[i] << " ";
}
return 0;
}