【练习】对一个数组进行从小到大排序

排序(冒泡)

应用库函数

import java.util.Arrays;

写一个 swap 函数,实现元素之间的交换

public static void swap(int [] a,int i,int j) {
	            int t=a[i];
				a[i]=a[j];
				a[j]=t;
}

冒泡排序法1:
无序[0,a.length-i)
有序[a.length-i,a.length)
把大的往后冒泡

public static void bubbleSort(int [] a) {
		for(int i=0;i<a.length;i++)
	    {
		    for(int j=1;j<a.length-i;j++){
				if(a[j-1]>a[j])
		        {
				swap(a,j-1,j);
			    }
		    }
		}
	}

冒泡排序法2:
无序[i,a.length)
有序[0,i)
把小的往前冒泡

public static void bubbleSort2(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])
		        {
				swap(a,j,j-1);
			    }
		    }
		}
	}

构造函数用来输出结果

	public static void testBubbleSort(int [] a) {
				System.out.println("请输入原数组:");
				System.out.println(Arrays.toString(a));
				bubbleSort(a);
				System.out.println("请输入现数组:");
				System.out.println(Arrays.toString(a));
			}

写主函数,分别定义有序、无序数组,进行排序

public static void main(String[] args) {
		int [] a={3,5,2,6,9,8,1};
		int [] b={1,2,3,4,5,6,7};
		int [] c={3,3,3,3,3,3,3};
				testBubbleSort(a);
				testBubbleSort(b);
				testBubbleSort(c);
			}

完整代码如下:

import java.util.Arrays;
public class MaoPao {
public static void swap(int [] a,int i,int j) {
	            int t=a[i];
				a[i]=a[j];
				a[j]=t;
}
    public static void bubbleSort(int [] a) {
		for(int i=0;i<a.length;i++)
	    {
		    for(int j=1;j<a.length-i;j++){
				if(a[j-1]>a[j])
		        {
				swap(a,j-1,j);
			    }
		    }
		}
	}
	public static void bubbleSort2(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])
		        {
				swap(a,j,j-1);
			    }
		    }
		}
	}
			public static void testBubbleSort(int [] a) {
				System.out.println("请输入原数组:");
				System.out.println(Arrays.toString(a));
				bubbleSort(a);
				System.out.println("请输入现数组:");
				System.out.println(Arrays.toString(a));
			}

	public static void main(String[] args) {
		int [] a={3,5,2,6,9,8,1};
		int [] b={1,2,3,4,5,6,7};
		int [] c={3,3,3,3,3,3,3};
				testBubbleSort(a);
				testBubbleSort(b);
				testBubbleSort(c);
			}
}

你可能感兴趣的:(【练习】对一个数组进行从小到大排序)