c c++语言选择排序

本文介绍如何使用C++实现选择排序算法。选择排序是一种不稳定的排序方法,通过每趟选择最小元素并放到已排序序列末尾来完成排序。文章提供了一个完整的C++代码示例,包括主函数和辅助函数,用于展示选择排序的过程。
摘要由CSDN通过智能技术生成
#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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值