#include <iostream>
using namespace std;
#define MAXSIZE 10
typedef struct{
int data[MAXSIZE+1]; //data[0]作为哨兵
int length;
}SqList;
void Swap(SqList *L, int i, int j)
{
int tmp;
tmp = L->data[i];
L->data[i] = L->data[j];
L->data[j] = tmp;
}
void SelectSort(SqList *L)
{
int i, j;
int min;
for(i=1; i<L->length; i++) {
min = i;
for(j=i+1; j<=L->length; j++) {
if(L->data[j] < L->data[min]) {
min = j;
}
}
if(i != min) {
Swap(L, i, min); //找到最小的数然后进行交换
}
}
}
int main()
{
int i;
SqList list;
cout <<"Please input " <<MAXSIZE<<" number :" << endl;
for(i=0; i<MAXSIZE; i++) {
cin >> list.data[i+1];
}
list.length = MAXSIZE;
cout <<"The numbers before sort: ";
for(i=0; i<MAXSIZE; i++) {
cout << list.data[i+1] << " ";
}
cout << endl;
SelectSort(&list);
cout <<"The numbers after sort: ";
for(i=0; i<MAXSIZE; i++) {
cout << list.data[i+1] << " ";
}
cout << endl;
return 0;
}
简单选择排序(C/C++实现)
排序算法实现与应用
最新推荐文章于 2022-10-07 11:21:45 发布
本文详细介绍了使用C++实现的简单选择排序算法,包括输入数组、排序过程、以及排序后的输出展示。通过实例演示了如何在实际场景中应用排序算法。
1万+

被折叠的 条评论
为什么被折叠?



