冒泡排序
public static void bubbleSort(int []data){
//循环变量
int i,j,k;
int temp;
//外层扫描的次数
for(j=data.length;j>1;j--){
//内层比较
for(i=0;i<j-1;i++){
if(data[i+1]<data[i]){
temp=data[i+1];
data[i+1]=data[i];
data[i]=temp;
}
}
}
}
冒泡排序之改进
public static void bubbleSort(int []data){
//循环变量
int i,j,k;
int temp;
//外层扫描的次数
for(j=data.length;j>1;j--){
boolean exchange=false;
//内层比较
for(i=0;i<j-1;i++){
if(data[i+1]<data[i]){
temp=data[i+1];
data[i+1]=data[i];
data[i]=temp;
exchange=true;
}
}
//如若不存在交换了,说明已经有序了
if(!exchange){
break;
}
}
}
方法为static仅为测试:
public static void main(String[] args) {
int []data={1,2,7,45,8,2,1,-1,0,9,4,3,2,1,67,89,34,23,12};
bubbleSort(data);
for(int i=0;i<data.length;i++){
System.out.println(data[i]);
}
}