?? 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 + -