简单选择排序的一种选择排序的方法。
给定一个数组array[]={2,4,6,1,3},对它进行升序排序。
简单选择排序简介
简单选择排序的方法就是每次在待排序的数组中选到最小的那个数,把它放到数组中的前面。
原数组{2,4,6,1,3}
- 将数组中的第一个数2与数组中的其他元素进行比较,发现最小的数是1,因此将1与2的位置进行变换,得到数组[1,4,6,2,3]。
- 将数组中的第2个元素4与数组中的其他元素进行比较,得到最小的数是2,将2与4的位置进行互换,得到数组[1,2,6,4,3]。
- …以此循环
- 最终的数组为[1,2,3,4,6]。
简单选择排序算法的性能:
简单选择排序代码(c++)
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int arr[]={ 6, 4, 8, 9, 2, 3, 1 };
int len=sizeof(arr) / sizeof(arr[0]);
cout << "排序前" << endl;
for (int i = 0; i < len; i++){
cout << arr[i] << " ";
}
cout << endl;
for(int i=0;i<len;i++)
{
int min=arr[i];
int mid_index=i;
for(int j=i+1;j<len;j++)
{
if(min>arr[j])
{
min=arr[j];
mid_index=j;
}
}
arr[mid_index]=arr[i];
arr[i]=min;
}
cout << "排序后" << endl;
for (int i = 0; i < len; i++){
cout << arr[i] << " ";
}
cout << endl;
}