zoukankan      html  css  js  c++  java
  • java冒泡排序小实例

    首先我们了解下什么是冒泡排序:

    冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,我想你是不会再无聊地把他们俩交换一下的;如果两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,所以相同元素的前后顺序并没有改变,所以冒泡排序是一种稳定排序算法。

    冒泡排序的时间复杂度是n^2;

    当有N个数需要排列时,按照冒泡排序的思想,需要进行N-1的排序,每次排序将最大或最小的数放到数组的尾部(每次内部排序完后那么下次只需比较除最后一个数外的数组的其他的数,因为最后一个数已经符合最大或最小的要求)

    public static void main(String[] args) {
    		//定义一个数组,长度为10
    		int arr[] = new int[10];
    		//随机生成0到20的随机数填充数组
    		for(int i = 0;i<arr.length;i++){
    			arr[i] =(int)( Math.random()*20);
    		}
    		//输出未排序前的数组
    		for(int i = 0;i<arr.length;i++){
    			System.out.print(arr[i]+" ");
    		}
    		//换行
    		System.out.println();
    		//进行冒泡排序
    		for(int i =0;i<arr.length-1;i++)
    			//第二层循环,最大的数排到数组底部
    			for(int j = 0;j<arr.length-i-1;j++){
    				if(arr[j]>arr[j+1]){
    					int temp;
    					temp = arr[j];
    					arr[j] = arr[j+1];
    					arr[j+1] = temp;
    				}
    			}
    		//输出查看结果
    		for(int i = 0;i<arr.length;i++){
    			System.out.print(arr[i]+" ");
    		}
    	}
    

      

  • 相关阅读:
    Python与常见加密方式
    ERROR 2002 (HY000):Can't connect to local MySQL server though socket '/var/lib/mysql/mysql.sock'(2)
    hive的分区表
    内部表和外部表的区别
    hive之SQL
    执行wc的时候提示连接被拒绝。Connection refused
    hive的简介
    hive的部署
    top命令信息
    web界面解读
  • 原文地址:https://www.cnblogs.com/it-life-nathan/p/7050261.html
Copyright © 2011-2022 走看看