講解對象:選擇排序 作者:融水公子 rsgz
? 選擇排序的思想是 ? 假設第一位是最大數(shù) ? 然后分別將第一位和其它位進行比較,將真正的最大數(shù)放在第一位 ? 同樣的方法考慮第二個元素 ? 選擇排序的優(yōu)點是每輪的每次并不是都要比較的 ? 先記錄下較小數(shù)的位置 然后一輪結束后 再做必要的交換
#include<stdio.h> #include<stdlib.h> int main(){ int a[5]={5,3,2,1,4}; int i,j,min,tmp; for(i=0;i<4;i++){//比較四輪 for(j=i+1;j<5;j++){//1 2 3 4 5 //我覺得我改寫的選擇排序還是類似于冒泡排序的效率 if(a[i]>a[j]){ tmp=a[i]; a[i]=a[j]; a[j]=tmp; } } } for(int i=0;i<5;i++){ printf("%d ",a[i]); } system("pause"); return 0; }
|