#include <iostream>
//选择排序:
/*
思想:每一趟从待排序的数据元素中选出最小的或者最大的一个元素,顺序放在已经排放好序的数列的最后,直到待排序的数据元素排完,选择排序是不稳定的排序方法
*/
using namespace std;
void println(int array[],int len)//打一个辅助函数,打印这个数组
{
for (int i =0; i<len; i++) {
printf(" %d ",array[i]);
}
printf("\n");
}
//第二个辅助函数,交换两个数
void swap(int array[],int i,int j)
{
int t = array[i];
array[i] = array[j];
array[j] = t;
}
//选择排序的逻辑代码
void SelectionSort(int array[],int len)
{
int i =0;
int j = 0;
int k =1;//指向最小元素
for (i =0; i<len; i++) {
k = i;
//通过这层for循环来通过k确定最小元素位置
for (j =i; j<len; j++) {
if (array[j]<array[k]) {
k=j;
}
}
//知道最小元素位置进行交换
swap(array,i,k);
}
}
int main(int argc, const char * argv[])
{
int array[] ={21,25,49,25,26,28};
int len = sizeof(array)/sizeof(*array);
printf("选择排序交换之前\n");
println(array, len);
printf("\n");
SelectionSort(array, len);
printf("选择排序之后\n");
println(array, len);
return 0;
}
c c++语言选择排序
最新推荐文章于 2023-02-05 03:08:42 发布
本文介绍如何使用C++实现选择排序算法。选择排序是一种不稳定的排序方法,通过每趟选择最小元素并放到已排序序列末尾来完成排序。文章提供了一个完整的C++代码示例,包括主函数和辅助函数,用于展示选择排序的过程。
摘要由CSDN通过智能技术生成