hu_66666 2021-11-23 16:02 采纳率: 75%
浏览 99
已结题

7-3 选择法排序 (20 分)

for(k=0;k<n-1;k++){
    index=k;
    for(i=k+1;i<n;i++){
        if(a[i]>a[index])
        {
            index=i;
        }
    }
    temp=a[index];
    a[index]=a[k];
    a[k]=temp;
}

可以讲一讲第二个循环中i=k+1;i<n;i++是什么意思?

  • 写回答

3条回答 默认 最新

  • CSDN专家-sinJack 2021-11-23 16:03
    关注

    内循环去选取当前元素的后面元素来跟当前元素进行判断。
    首先以第1个位置的数字,依次与2、3、4……n个位置的数字作比较。
    如果第1个位置的数字大于或等于某一个位置的数字,则两个位置的数字不变,反之则将两个位置的数字进行互换。
    当第一轮比较大小完成后,此时第1个位置的数字即为此排序数列的最大值。
    接下来选择第2个位置的数字,以同样的方法依次与3、4、5……n个位置的数字作比较,将最大值放在第2个位置。
    依循此方法直到第n-1位置的数字和第n位置的数字比较大小之后,整个数列就由大到小来排列。
    简而言之,其主要思想是在要排序的一组数列中,选出最大的一个数与第1个位置的数交换;
    然后在剩下的数当中再找最大的与第2个位置的数交换,依次类推,直到第n-1个元素(倒数第二个数)和第n个元素(最后一个数)比较为止。
    数列如需要由小到大排序,原理相同。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月1日
  • 已采纳回答 11月23日
  • 创建了问题 11月23日

悬赏问题

  • ¥15 STM32F103上电短路问题
  • ¥15 关于#单片机#的问题:以ATMEGA128或相近型号单片机为控制器设计直流电机调速的闭环控制系统(相关搜索:设计报告|软件设计|流程图)
  • ¥15 打开软件提示错误:failed to get wglChoosePixelFormatARB
  • ¥15 (标签-python|关键词-char)
  • ¥15 python+selenium,在新增时弹出了一个输入框
  • ¥15 苹果验机结果的api接口哪里有??单次调用1毛钱及以下。
  • ¥20 学生成绩管理系统设计
  • ¥15 来一个cc穿盾脚本开发者
  • ¥15 CST2023安装报错
  • ¥15 使用diffusionbert生成文字 结果是PAD和UNK怎么办