#include <iostream> using namespace std; int main(){ int arr[] = {3,6,8,1,9,4}; int temp; int len = sizeof(arr)/sizeof(arr[0]); //简单的冒泡排序 for(int i=0;i<len;i++){ for(int j=1;j<len-i;j++){ if(arr[j-1] > arr[j]){ temp = arr[j-1]; arr[j-1]=arr[j]; arr[j] = temp; } } } //优化后 for(int i=0;i<len-1;i++){ bool exchange = false; //设置交换变量 for(int j=1;j<len-i;j++){ if(arr[j-1]>arr[j]){ //如果前一位大于后一位,交换位置 temp = arr[j-1]; arr[j-1] = arr[j]; arr[j] = temp; if(!exchange) exchange =true; //发生了交换操作 } } if(!exchange) break; //如果上一轮没有发生交换数据,证明已经是有序的了,结束排序 } for(int i=0;i<len;i++){ cout<<arr[i]<<" "; } cout<<endl; return 0; } //1 3 4 6 8 9 //请按任意键继续. . .