Java教程

冒泡排序

本文主要是介绍冒泡排序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

冒泡排序

算法步骤如图:

image

  1. 第一轮,依次交换下标01,12,23,34,45的值,把大的数交换到i+1的位置。
  2. 第一轮结束,最大的数被沉底。即最后一个下标排序完成,第二轮只需要查看N-2到0即可。
  3. 直到N-1轮,即可把所有最大的数依次沉底。完成排序
public class Test_BubbleSort {

	public static void main(String[] args) {
		int a[] = {3,4,1,7,8,12,16,73,33,85,452,421,554,12,34,78,64,9,4,66,42};
		BubbleSort(a);
		for(int i=0;i<a.length-1;i++){
			System.out.println(a[i]);
		}
	}
	
	public static void BubbleSort(int[] a){
		if(a.length==0||a.length<2){
			return;
		}
		else{
			for(int i=a.length-1;i>0;i--){
				for(int j=0;j<i-1;j++){
					if(a[j]>a[j+1]){
						Swap(a,j,j+1);
					}
				}
		
			}
		}
	}
	
	public static void Swap(int[] a,int i,int j){
//		int temp;
//		temp = a[i];
//		a[i] = a[MinIndex];
//		a[MinIndex] = temp;
		a[i] = a[i] ^ a[j];
		a[j] = a[i] ^ a[j];
		a[i] = a[i] ^ a[j];
	}
}
这篇关于冒泡排序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!