📄 zyx7-7选择排序.cpp
字号:
//选择排序(从小到大)
//朱一新 2004.9.9
#include<stdio.h>
void main()
{
int a[10],i,j,k,temp;
printf("输入十个整数:");
for(i=0;i<10;i++)
scanf("%d",&a[i]); //给数组赋值
for(i=1;i<=9;i++) //i表示次数,一共进行9次比较和交换
{
printf("第%d轮排序的结果是:",i);
k=i-1;//用k表保存当前得到的最小的排序码元素的下标,初值为0
for(j=i;j<=9;j++)
{ //从当前排序区间顺序找出具有最小排序码的元素a[k]
if(a[j]<a[k])//若存在a[j]小于当前最小排序码的元素a[k]
k=j;//则把那个元素的下标j赋给k,此时排序区间的最小排序码的元素等于a[j]
}
if(k!=i-1)//如果当前的最小排序码元素的下标不是当前位置的元素,
{ //则交换两个元素
temp=a[i-1];
a[i-1]=a[k];
a[k]=temp;//把a[k]调换到该排序区间的第一个位置,即i-1位置
}
for(k=0;k<10;k++)
printf("%d ",a[k]);
printf("\n");//输出每一次排序完成时的元素
}
printf("排序结果输出如下:");
for(k=0;k<10;k++)
printf("%d ",a[k]);
printf("\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -