void swap(int &a , int &b) { int temp; temp = a; a=b; b=temp; } void bubble(int a[],int n) { int i,j,count; //只用到了2个变量i和j,一次性做对 for(j=0;j<n-1;j++){ //3个元素2趟排序 count = 0; for(i=0;i<n-1-j;i++){//算法1:在一趟排序中,若前面元素大于后面则交换 if(a[i]>a[i+1]){ count++; swap(a[i],a[i+1]); } } if(count==0) break; } } ******************** void swap(int &a, int &b) { int temp =a; a=b; b=temp; } //思想:选一个最小的依次放入a[0] a[1] 的位置 void easy(int a[] , int n) { int min,flag,i,j; for(j=0;j<n-1;j++){ //3个元素要3趟 min = a[j]; flag = j; for(i=j;i<n;i++){//从区间[i,n]找个最小的放入i指向的位置 if(a[i]<min){ min = a[i]; flag = i ; //2句话必须用括号括起来 } } swap(a[j],a[flag]); } }