简单挑选排序2 排序怎么选
为了解决这个,简单挑选排序2 排序怎么选
大家好,本网站为大家提供优质的、全新的游戏攻略,援助大家更愉悦地、更顺手地玩游戏,走过路过不要错过奥。
在上一节中,我们介绍了简易选择排序的基本原理和实现方法。通过比较数组中的元素,我们找到了最大的数并将其放在数组的第一个位置。然而,直接将最大数放在第一个位置会导致原来该位置的数据丢失。
为了解决这个问题,我们需要使用一个临时变量来存储数据。类似于互换两瓶饮料的液体,我们可以定义一个变量t来暂存数据。详细步骤如下:
- 将a[0]的值赋给t:t a[0];
- 将a[3]的值赋给a[0]:a[0] a[3];
- 将t的值赋给a[3]:a[3] t;
这样,我们就胜利地将最大数放在了数组的第一个位置,同时没有丢失其他数据。
通过观察上述步骤,我们发现每次操作的目标下标no和循环的次数j是有规律的。因此,我们可以使用循环来重复执行这段代码。详细代码如下:
include "stdio.h"
int main()
{
int a[10] {34, 56, 7, 89, 9, 9, 56, 34, 78, 65};
int no;
int t;
int i;
int j;
for(j 0; j < 9; j ) // 控制循环9次
{
// 重复执行的代码段
no j;
for(i j 1; i < 10; i )
{
if(a[i] > a[no])
{
no i;
}
}
t a[j];
a[j] a[no];
a[no] t;
//-----------------
}
// 输出数组里的元素
for(i 0; i < 10; i )
{
printf("%d ", a[i]);
}
printf("
");
}
运行结果如下:
89 78 65 56 56 34 34 9 9 7
至此,我们已经完成了对10个元素的简易选择排序。使用循环的方法能够简化代码,并且适用于不同数量的元素进行排序。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将即刻删除。
大家注意,牢记持续关注本游戏攻略网站,您的支持是我们最大的动力奥,我们会努力提供全网新的游戏攻略教程,加油。
本创作内容,未授权勿转载,必究权责。
免责说明:本文代表的是网站编辑的观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经确认,因此对本文以及其中全部或者部份内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。