七大基本排序算法之冒泡排序

import java.io.IOException;
import Input.InputString;

/**
 * 冒泡排序
 * @author xiaomi
 * 2012.3.29
 */
public class BubbleSort {
	public static void main(String[] args) throws IOException{
		String s = InputString.getString();
		String[] str = s.split(" ");
		int[] a = new int[str.length];
		for(int i = 0;i < str.length;i++){
			a[i] = Integer.parseInt(str[i]);
		}
		bubbleSort(a);
		for(int i = 0;i < a.length;i++){
			System.out.print(a[i]+" ");
		}
	}
	
	public static void bubbleSort(int[] a){
		for(int i = 0;i < a.length;i++){
			for(int j = a.length-1;j > i;j--){
				if(a[j]<a[j-1]){
					int temp = a[j];
					a[j] = a[j-1];
					a[j-1] = temp;
				}
			}
		}
	}
}

 

冒泡排序优化算法,在内层的每一趟排序中,如果这一趟没有交换发生,则说明目前的数组已经有序,可以直接终止排序。

 

public static void bubbleSort(int[] a){//优化的冒泡排序
		boolean change;
		for(int i = 0;i < a.length;i++){
			change = false;
			for(int j = a.length-1;j > i;j--){
				if(a[j]<a[j-1]){
					int temp = a[j];
					a[j] = a[j-1];
					a[j-1] = temp;
					change = true;
				}
			}
			if(!change){
				break;
			}
		}
	}
 

七大基本排序算法之冒泡排序

七大基本排序算法之选择排序

七大基本排序算法之插入排序

七大基本排序算法之希尔排序

七大基本排序算法之堆排序

七大基本排序算法之快速排序

七大基本排序算法之归并排序

 

你可能感兴趣的:(冒泡排序)