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

      

  • 相关阅读:
    软件定义网络笔记(PART 1)
    软件架构-可视化
    nginx反向代理配置去除前缀
    年轻就该多尝试,教你20小时Get一项新技能
    LNMP架构部署(附:部署Discuz社区论坛Web应用)
    高级开发进阶:第一章:总篇
    pip和conda添加和删除镜像源
    Micro-PaaS(Docker+K8S)
    云平台概述
    1、Docker学习笔记
  • 原文地址:https://www.cnblogs.com/it-life-nathan/p/7050261.html
Copyright © 2011-2022 走看看