问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

选择排序法算法

发布网友 发布时间:2024-09-27 06:49

我来回答

1个回答

热心网友 时间:2024-09-29 07:11

简单选择排序算法详解:在排序过程中,简单选择排序的优点在于移动记录次数相对较少。在理想状态下,当待排序数组已按正序排列时,无需移动记录。而在最坏情况下,逆序排列需要最多移动n-1次记录。比较次数与数组初始状态无关,初始时,第一轮需要n-1次,第二轮n-2次,以此类推,总共n(n-1)/2次,因此其时间复杂度为O(n^2)。

选择排序是对冒泡排序的一种优化。以10个数存于数组a[0]至a[9]为例,冒泡排序通过从大到小逐个比较并交换,如a[9]始终存储最小值。但在选择排序中,首先记录一个最大值的位置k,然后与后面的元素比较,无需实际交换,只需更新k。这样,一轮下来,a[k]即为当前最大值,然后进入下一轮。与冒泡排序相比,虽然比较次数相同,但交换次数减少。

以下是两个示例的代码实现:

对于由大到小排序:

main() {
int a[10], i, j, t, k;
for (i = 0; i < 10; i++) scanf("%d", &a[i]);
for (i = 0; i < 9; i++) {
k = i;
for (j = i + 1; j < 10; j++) {
if (a[k] < a[j]) k = j;
}
if (k != i) {
t = a[i]; a[i] = a[k]; a[k] = t;
}
}
for (i = 0; i < 10; i++) printf("%4d", a[i]);
}

对于由小到大排序:

main() {
int a[10], i, j, t, k;
for (i = 0; i < 10; i++) scanf("%d", &a[i]);
for (i = 0; i < 9; i++) {
k = i;
for (j = i + 1; j < 10; j++) {
if (a[k] > a[j]) k = j;
}
if (k != i) {
t = a[i]; a[i] = a[k]; a[k] = t;
}
}
for (i = 9; i >= 0; i--) printf("%4d", a[i]);
}

以上是Java选择排序的简单实现,通过循环比较和交换元素,达到排序的目的。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
大学入学应该带哪些必备物品? tim删除聊天记录的方法步骤 pc端彻底删除tim聊天记录 甩脂机调到什么档位 如何用甩脂机 甩脂机的正确使用方法 使用抖脂机要注意什么 怎样申请小号微信号 ...的长和宽分别增加6米,扩建后草坪的面积增加了多少 ...扩建后长和宽分别增加10米,扩建后的操场面积增加了多少平方米?_百 ... 长方形的公园它的面积长和宽分别扩大十米后它的平方增加了面积增加了13... 成都10月份气温是多少穿什么衣服 本命年要注意什么事项本年命有啥讲究? java关于选择排序的问题,我写的是升序排列,结果降序了。。。 本命年有什么讲究 要注意什么 去青海湖坐飞机到哪里最方便_扁都口景区门票 各位帅哥靓女们帮帮忙啊,学校组织辩论会,我们是反方成绩比诚信... 本命年龙年要注意 龙年本命年有什么讲究 下周三辩论会我们是反方上中专比上高中更有前途,求大神帮忙,要写稿子... 《唐诗300首》中关于距离的诗歌 济南学联教育学校.16年春季高考信息枝能考试何时出成绩 洗鞋店一年有多少利润? 哪个产地的奶源最好 济南学联教育怎么样啊 在口感方面,新西兰和蒙牛的特仑苏有何不同? 如何开洗鞋店利润怎么样 ?开店一年的总结 bose音响mini好还是水桶好 网页排版设计的基本形式(网页设计排版布局原理) 江苏无锡现在规定底薪是多少? 无锡现在的基本工资多少?拜托各位大神 橱柜箱体用什么颜色的木纹板比较好看啊,现在比较流行的是哪一种啊 15到21度适合穿什么衣服图片 怎么用HP扫描仪扫描文件? 从同安到西山怎么走? 同安西山岩特色景点 去同安西山岩旅行有哪些值得观赏的美景? 同安西山岩地理环境 从同安西山怎岩做那段公交到同安古庄路口 想买只猫咪一般多少钱一只? 请问微信保存文件路径变为/sdcard/Android/data/com.tencent.mm? 带中班的孩子搭建乐高水上乐园的教案应该怎么写呢? 59×51列竖式? 屈原与楚怀王的关系 屈原是哪个楚王 屈原楚怀王的关系 仙蟾片对癌症患者有效吗?在线等 有高血压,心脏病的病人能不能服用仙蟾片? 仙蟾片胆囊癌三期有用吗??急急急... 2019成人高考山东成绩什么时候出来 2019成人高考成绩时间 今年成人高考成绩查询时间 miui12三指截屏失效