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

【C++】选择排序

2020-06-06 07:06 155 查看

算法思想:
(1)在未排序序列中找到最小(大)元素,存放到排序序列的起始位置
(2)从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾
(3)以此类推,直到所有元素均排序完毕

#include <iostream>

using namespace std;

void selectSort(int *p, int n);

int mian()
{
int array[] = {2, 4, 6, 8, 0, 1, 3, 5, 7, 9};
int n = sizeof(array);
selectSort(array, n);
for(int k = 0; k < n - 1; k++)
{
cout << array[k] << " ";
}
return 0;
}

void selectSort(int *p, int n)
{
int min;  //最小值的标记,为数组的下标号
for(int i = 0; i < n - 1; i++)
{
min = i;
for(int j = i + 1, j < n - i; j++)
{
if(p[min] > p[j])
min = j;
}
std::swap(p[i], p[min]);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: