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

选择排序-c++代码实现及运行实例结果

2017-12-14 14:09 525 查看
考虑排序存储在数组A中的n个数:首先找出A中的最小元素并将其与A[1]中的元素进行交换。接着,找出A中的次最小元素并将其与A[2]中的元素进行交换。对A中前n-1个元素按该方式继续。该算法称为选择排序算法,写出伪代码。

伪代码

for i=1 to A.length-1
min = A[i];
k = i;  //k为最小值的下标
j = i + 1;
while j<A.length
if A[j] < min
min = A[j];
k = j;
j++;;
A[k] = A[i];
A[i] = min;


c++代码

#include <iostream>

using namespace std;

void selectionSort(int a[],int len);

int main()
{
int A[] = { 2, 1, 5, 7, 3, 4, 8, 6 };
const int length = 8;
cout << "Before sorted:" << endl;
for(int i = 0;i < length;++i)
cout << A[i] << "  ";
cout << endl;
cout << "After sorted:" << endl;
selectionSort(A,length);
for(int i = 0;i < length;++i)
cout << A[i] << "  ";
cout << endl;
return 0;
}

void selectionSort(int Array[], int len) {

int i,j,k,min;
for (i = 0; i < len-1; i ++) {
min = Array[i];
k = i;//k为最小值的下标
for (j=i+1; j < len; j ++) {
if (min > Array[j]) {
min = Array[j];
k = j;
}
}
Array[k] = Array[i];
Array[i] = min;
}
}


结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: