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]+" ");
    		}
    	}
    

      

  • 相关阅读:
    ls
    MyBatis
    SpringMvc
    Spring的基本配置及概念
    Hibernate的简单应用
    关于WebService的一些操作。。。
    关于博问 问了三次都不了了之
    某个人小朋友的字符串分割统计
    经典的基础Druid连接池的使用操作
    关于项目中一些时间转换的问你题 -紫叶and妍
  • 原文地址:https://www.cnblogs.com/it-life-nathan/p/7050261.html
Copyright © 2011-2022 走看看