您的位置:首页 > 编程语言 > C语言/C++

排序算法系列---简单选择排序(C++)

2016-06-23 15:17 274 查看
简单选择排序相对来说也比较容易理解,他跟冒泡的区别在于:省去了多余的数据交换操作,定位较小元素的位置并记录下标,在比较完所有的数据元素之后再把最小的数据元素提到序列前端。

# include <iostream>
# define SIZE 10
using namespace std;
void Select_Sort(int a[],int n);

void Select_Sort(int a[],int n)
{
int i,j,min,temp;
for (i=0;i<n-1;i++)
{
min = i;
for (j=i+1;j<n;j++)
{
if (a[min]>a[j])
{
min = j;
}
}
if(i != min)
{
temp = a[i];
a[i] = a[min];
a[min] = temp;
}
}
}
void main()
{
int number[SIZE] = {19,23,12,24,66,47,53,85,78,10};
int num;
Select_Sort(number, SIZE);
for(num=0;num<SIZE;num++)
{
cout<<number[num]<<" ";
}
}




但是他的时间复杂度仍然跟冒泡排序一样,为O[n2],性能上略有优势。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: