• 冒泡排序


    冒泡排序

    思路

    1.依次对数组中每对相邻的元素比对,如果前者比后者大,那么它们就交换位置,这样一趟下来总能把一个最大元素送到末尾的位置
    2.可以这么说,每一趟排序进行之后使得数组后面的有序部分规模在增大,前面的无序部分规模在减小
    3.经过这样多次交换之后数组就有序了

    代码

    package sort;
    
    public class BubbleSort {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		int [] a= {6,-1,3,-3,2,9,1,2,3};
    		bubblesort(a);
    		for(int i=0;i<a.length;i++) {
    			System.out.printf("%d ",a[i]);
    		}
    		System.out.println();
    	}
    	
    	//冒泡排序
    	public static void bubblesort(int[] arr) {
    		int len=arr.length;
    		int temp;
    		boolean flag=false;//表示是否交换过
    		for(int i=0;i<len;i++) {
    			for(int j=0;j<len-i-1;j++) {
    				if(arr[j]>arr[j+1]) {
    					temp=arr[j];
    					arr[j]=arr[j+1];
    					arr[j+1]=temp;
    					flag=true;
    				}
    			}
    			if(!flag) {//如果一趟一次都没有交换过直接退出
    				break;
    			}else {
    				flag=false;//重置false下一轮判断
    			}
    		}
    	}
    
    }
    
    
  • 相关阅读:
    https://github.com/cykl/infoqscraper/
    C# 笔记
    json.org
    python html parse
    doxygen
    review board
    ruunlevel debian
    连接REDIS
    composer
    php需要注意的地方
  • 原文地址:https://www.cnblogs.com/mengxiaoleng/p/11657366.html
Copyright © 2020-2023  润新知