c++ 利用min求前i项数组的最小值_五种数组的排序方法(C语言)Part1

个人观点:其实抛开思想从语法上来说,大致分为三种就够了(冒泡排序、插入法排序、折半法排序)

今天在这里我们先讨论前面三种(即冒泡排序)这方面的内容。

喜欢我的内容,记得动动你们的双手,双击点个赞鸭!

一、选择法排序

核心思想:(从小到大排序)外循环对数组中的每一个元素进行逐个选中,在选中某一个元素时以内循环将这个数组余下未排序的最小值找出与之交换。

实现代码:

for (i = 0; i < 9; i++)
{
    
    min = a[i]; //假设当前元素为最小值
    m = i;      //记录最小值的位置
    for (j = i + 1; j < 10; j++)
    {
    
        if (a[j] < min)//如果这个元素的值比当前记录的最小值还小就记录这个元素
        {
    
            min = a[j]; //记录最小值
            m = j;      //记录最小值的位置
        }
    }
    //这里跳出内循环后,我们就得到了余下元素里面的最小值
    a[m] = a[i]; //将当前元素赋值给拥有最小值的元素
    a[i] = min;  //将最小值赋值给当前元素,这里我们就达到了交换数据的目的
}

这里我们是假设一个数组a[10],通过外层循环,每次记录当前位置为最小值(为了避免后面元素没有比当前位置元素小时,

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值