问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

C语言数组选择排序法,超简单,求解

提问网友 发布时间:2022-04-22 05:46
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
3个回答
热心网友 回答时间:2023-09-29 14:39

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中 选出 最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。所以这种排序的方法叫选择法排序。

C语言参考实例:

#include <stdio.h>
void main()
{
    int a[]={1,3,4,2,0} ;
    int i,j,n=5;
    for( i=0;i<n-1;i++ )
for( j=i+1;j<n;j++ ) //每一遍都与当前a[i]比较
if ( a[i] < a[j] ) //大的前移
{
int t=a[i];
a[i]=a[j];
a[j]=t ;
}

for( i=0;i<n;i++ )
printf("%d ", a[i] );
}

热心网友 回答时间:2023-09-29 14:40
选择排序,从第一个数组元素开始,把第一个元素分别与后面元素比较,谁比第一个元素小,就和第一个元素交换位置,然后再以这个交换过的元素跟后面的比,直到最后一个元素,比完之后呢,现在数组的第一个元素肯定是全数组最小的,然后再从第二个元素开始以之前的方法跟后面的比,完成后第二个元素就是全数组第二小的,一直这样比到最后,就是从小到大的选择排序法,如果没听懂,直接百度搜“选择排序”,应该会有更具体的答案
热心网友 回答时间:2023-09-29 14:40
我上代码吧,这样便于理解:
选择排序,由小到大

#include<stdio.h>
void main()
{
int s[]={5,10,3,7,2,8,9};
int i,j,n;
for(i=0;i<=6;i++) //控制循环次数,第一次循环过后s[0]肯定是最小的元素值了那么第二次就是s[1]这是最小的元素值了,依此类推
for(j=i+1;j<=6;j++)
if(s[i]>s[j]) //交换,使每一次都拿s[i]和后面的比较,若s[i]<s[j]则不交换
{
n=s[i];
s[i]=s[j];
s[j]=n;
}
for(i=0;i<=6;i++)
printf("%d ",s[i]);
putchar('\n');
}

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

三十除以五等于多少 C语言 用选择法排序 为什么麦克风正常,但听不到声音? 戴尔U2412M 请问显示器刷新频率为什么总锁定59Hz,... 怎么检测麦克风是否正常 爬虫和数据分析那个好 魔兽争霸3冰封王座 怎么调视角? 就是把视角调很高 求C语言中选择排序法的原理… 为什么我的显示器只能调59,60赫兹 . 麦克风正常游戏里语音用不了 EMS单号查询 魔兽世界视角设置 麦克风正常但在《lol》里用不了怎么回事? 19寸显示器刷新率59好还是60好? 为什么?? C语言选择法排序算法问题。 生锈的热水瓶底盖如何旋开? 《cf》麦克风正常却不能说话怎么回事? 魔兽世界如何把视角拉远 求死神漫画290往后的中文目录 为啥我的windows7的屏幕刷新率只有59和60? 关于显示器只有59HZ和60HZ的问题。 魔兽世界中怎么从第一视角转换成第3视角 python爬虫和数据分析哪个门槛低 30除以5列竖式商写在哪个位上 麦克风是正常的,为什么说不了话。 九阳电水壶的壶盖怎么盖不住了怎么办? 爬虫和数据挖掘的区别 电脑游戏设置里面刷新率只有59.9 没有60. 59.9会损... 金蝶K3V10.1升级到v13.0中间需要在哪几个版本上升级 C语言用选择法排序 麦克对着音响为什么会产生刺耳噪音? 魔兽世界里怎样调节画面视角? 30÷5等于几乘几? 液晶显示器刷新率60就够,但是看见有个刷新率59的... 麦克风显示工作正常但没声音 魔兽争霸冰封王座 视野怎么还原? python数据分析需要学习爬虫吗? 美的热水壶盖子怎么上弹簧 金蝶K3 10.1升级至13.0版本一个账套费用多少?多增... 30除以5等于6表示什么意思?
Top