C#-氣泡排序和選擇排序
阿新 • • 發佈:2018-12-30
將一個數組排序
//排序 #include <stdio.h> int main() { int a[]={3,5,2,56,275,85,29,24}; int temp,i,j; int length= sizeof(a) / sizeof(a[0]);//計算a[]的大小時,不要加‘[]’ //選擇排序 for(i=0;i<length-1;i++){ for(j=i;j<length;j++){//選擇排序,每一次用一個數和所有其他數做比較,並且依次將最小的數移到兩端 if(a[i]<a[j]){ temp=a[j]; a[j]=a[i]; a[i]=temp; } //從大往小 } } //遍歷陣列 for(i=0;i<length;i++){ printf("%d ",a[i]); } printf("\n"); //氣泡排序 //氣泡排序就是每次將相鄰的兩個數做比較,每一次可以將最值找出,和氣泡排序的區別就是這樣 for(i=0;i<length-1;i++){ for(j=0;j<length-i-1;j++){ if(a[j+1] <a[j]){ temp=a[j]; a[j]=a[j+1]; a[j+1]=temp;//從小往大 } } } for(i=0;i<length;i++){ printf("%d ",a[i]); } printf("\n"); return 0; }