冒泡排序
基本思想
- 通过比较相邻的关键字间的大小,来对相应关键字的顺序进行交换,每趟排序都能找出最大或者最小的关键字放在数组末尾。
public class Maopaosort {
public static void main(String[] args) {
int a[]={79,56,90,4,32,27,16,88,35};
sort(a);
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
}
static int temp=0;
public static void sort(int a[]){
for(int i=0;i<a.length;i++){
for(int j=0;j<a.length-i-1;j++){
if(a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
}
}
冒泡排序的小优化
public class Maopaosort {
public static void main(String[] args) {
int a[]={3,9,-1,10,-2};
sort(a);
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
}
boolean flag=false;
static int temp=0;
public static void sort(int a[]){
for(int i=0;i<a.length;i++){
for(int j=0;j<a.length-i-1;j++){
if(a[j]>a[j+1]){
flag=true;
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
if(!flag){
break;
}else{
flag=false;
}
}
}
}