Java学习第14天—数组的高级应用-冒泡排序

数组的高级应用

数组是相同类型的一组数值的"集合"    对数组元素的排序是非常常见的操作,排序算法很多,常见的有冒泡排序和选择排序

冒泡排序:bubble   原理:相邻两个元素比较,大的放后边,比较的趟数是元素个数减1

package com.nim.sort;
/*
 * 数组排序方法 
 * 冒泡排序
 */
public class BubbleSortDemo {

	public static void main(String[] args) {
		int[] arr = productArray();
		System.out.println("排序前");
		long start = System.currentTimeMillis();
		print(arr);
		bubbleSort(arr);
		System.out.println("----------------------------");
		System.out.println(System.currentTimeMillis()-start);
		System.out.println("排序后");
		print(arr);
		
	}
	public static void print(int[] arr){
		for (int i = 0; i < arr.length; i++) {
			if(i != 0 && i % 100 == 0){
				System.out.println();
			}
			System.out.print(arr[i] + " ");
		}
		System.out.println();
	}
	//产生一个1-1000的数组,元素个数1000
	public static int[] productArray(){
		int[] arr = new int[1000];
		for (int i = 0; i < arr.length; i++) {
			arr[i] = (int)(Math.random()*1000+1);
		}
		return arr;
	}
	
	
	
	public static void bubbleSort(int[] arr){
		//外层循环控制比较的轮次,是固定值
		for (int i = 0; i < arr.length; i++) {
			//内层循环控制比较的次数
			for(int j = 0;j<arr.length -1-i;j++){
				if(arr[j] > arr[j+1]){
					int temp = arr[j];
					arr[j] = arr[j+1];
					arr[j+1] = temp;
				}
				
			}
		}
	}

}

猜你喜欢

转载自blog.csdn.net/chengming320/article/details/82704291