冒泡排序
冒泡排序是最基础的排序算法
顾名思义,冒泡排序法就是让数组元素像水中的气泡一样逐渐上浮,进而达到排序的目的。
以数组A={5,4,3,2,1}为例,我们利用冒泡排序法时,用双层for循环进行控制,
第一层循环控制要排序的元素个数,假设有N个元素,要排序N-1个元素(已经排序部分默认有一个元素)
第二层循环控制元素排序时要比较的次数,与第一层for循环有关联,会随着已经完成排序部分的增加而减少,第一次比较N-1个元素(N个元素中除去自身一个元素),第二次比较N-2个元素(N个元素中除去自身一个元素和上一步已经冒泡出去的一个元素)…
public class Sort {
/**
* @param args
*/
//从小到大排序
int array[]={5,4,3,2,1};
public void sort(){
int length = array.length;
if(length>0){
for(int i=1;i<length;i++){
for(int j=0;j<length-i;j++){
if(array[j]>array[j+1]){
int temp = array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
}
for(int a=0;a<length;a++){
System.out.print(array[a]);
}
}
//从大到小排序
int array2[]={1,2,3,4,5};
public void sort2(){
int length = array2.length;
if(length>0){
for(int i=length-1;i>0;i--){
for(int j=length-1;j>length-1-i;j--){
if(array[j]>array[j-1]){
int temp = array[j];
array[j]=array[j-1];
array[j-1]=temp;
}
}
}
}
for(int a=0;a<length;a++){
System.out.print(array[a]);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Sort test = new Sort();
test.sort();
System.out.print("\n");
test.sort2();
}
}