冒泡排序:从数组第一个元素开始,和他的下一个元素对比,如果大于就交换两个元素位置,然后再对比第二个元素和第三个元素,一趟下来,最大的元素就会被放到了数组的最后边;由于最大元素已经放到最右边了,所以第二次排序的时候可以不考虑最后的元素了,以此类推,第三次排除就可以不考虑最后两个元素了,直到不考虑所有元素,即排序完成。
package Sort;
/*
* 冒泡排序
*/
public class SortTest2 {
public static void main(String[] args) {
// int[] arr={8,7,6,5,4,3,2,1};
int[] arr={5,6,2,3,0,-1,8,-5,6};
for(int i:arr){
System.out.print(i+" ");
}
System.out.println();
new SortTest2().bubbleSort(arr, 1, arr.length-1);
for(int i:arr){
System.out.print(i+" ");
}
}
public void bubbleSort(int[] arr,int start,int end){
if(arr==null||start>=end){
return;
}
for(int i=start;i<=end;i++){
for(int j=start;j<=end-i-1;j++){
if(arr[j]>arr[j+1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
}
}