• 经典排序算法-冒泡与选择


    1 冒泡排序的思想类似气泡上升,数组前后元素两两比较,如果前面的元素比后面的大就交换位置,每趟排序都可以确定最大值的位置

    2 选择排序思想类似打擂台,每趟比较都把最小的值排在数组最前面,每趟比较都可以确定最小值的位置

    public class SortTest {
    	public static void main(String[] args) {
    		//选择排序
    		int arr[] = {2,9,10,5,4,8,7,1,3,6};
    		choose(arr);
    		System.out.println();
    
    		//冒泡排序
    		int arr2[] = {2,9,10,5,4,8,7,1,3,6};
    		bubble(arr2);
    	}
    	/**
    	 * 选择排序
    	 * @param arr
    	 */
    	public static void choose(int arr[]){
    
    		for(int i=0;i<arr.length;i++){
    
    			for(int j=i+1;j<arr.length;j++){
    
    				//每次都将最小的值放在最前面
    				if(arr[i]>arr[j]){
    
    					int temp = arr[j];
    
    					arr[j] = arr[i];
    
    					arr[i] = temp;
    				}
    
    			}
    		}
    
    		for(int a:arr){
    			System.out.print(a+" ");
    		}
    	}
    
    	/**
    	 * 冒泡排序
    	 */
    	public static void bubble(int arr[]){
    		for(int i=0;i<arr.length;i++){
    			for(int j=0;j<arr.length-i-1;j++){
    				//前后比较,大的值放在后面
    				if(arr[j]>arr[j+1]){
    
    					int temp = arr[j];
    
    					arr[j] = arr[j+1];
    
    					arr[j+1] = temp;
    				}
    			}
    		}
    		for(int a:arr){
    
    			System.out.print(a+" ");
    		}
    	}
    }

    程序运行结果为:
    1 2 3 4 5 6 7 8 9 10
    1 2 3 4 5 6 7 8 9 10

      

  • 相关阅读:
    块元素&行内元素
    semantic ui要装什么才能使用
    float属性
    CSS 选择器
    px,em和rem
    CSS各类布局
    一个 / 引起想骂他事件
    使用fastjson 获取json字符串中的数组,再转化为java集合对象
    计算面试题
    Dubbo(二) 一次惨痛的流血事故
  • 原文地址:https://www.cnblogs.com/notejava/p/7124219.html
Copyright © 2020-2023  润新知