zoukankan      html  css  js  c++  java
  • 简单的三种排序法

    /**
    	 * 插入排序法 
    	 *从第一个元素开始,该元素可以认为已经被排序
    	 *取出下一个元素,在已经排序的元素序列中从后向前扫描 
    	 * 如果该元素(已排序)大于新元素,将该元素移到下一位置,重复步骤3,直到找到已排序的元素小于或者等于新元素的位置,将新元素插入到该位置中;
    	 * 重复步骤2。 
    	 */
    
    	public static void insertSort(int[] numbers) {
    		int size = numbers.length, temp, j;
    		for (int i = 1; i < size; i++) { // i从1开始是默认第一个为已经排序号的
    			temp = numbers[i];
    			for (j = i; j > 0 && temp < numbers[j - 1]; j--) {
    				numbers[j] = numbers[j - 1];
    			}
    			numbers[j] = temp;
    		}
    	}
    

      

    /** 
    	 *冒泡排序法: 
    	 * 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
    	 *对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
    	 * 针对所有的元素重复以上的步骤,除了最后一个。
    	 * 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
    	 *   
    	 */ 
    	public static void bubbleSort(int[] numbers) {
    		int temp; // 记录临时中间值
    		int size = numbers.length; // 数组大小
    		for (int i = 0; i < size - 1; i++) {
    			for (int j = i + 1; j < size; j++) {
    				if (numbers[i] < numbers[j]) { // 交换两数的位置
    					temp = numbers[i];
    					numbers[i] = numbers[j];
    					numbers[j] = temp;
    				}
    			}
    		}
    	}
    	
    

      

    /** 
    	 * 选择排序法 : 
    	 * 在未排序序列中找到最小元素,存放到排序序列的起始位置。
    	 *再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾。以此类推,直到所有元素均排序完毕。
    	 */  
    	public static void selectSort(int[] numbers) {   
    	    int size = numbers.length, temp;   
    	    for (int i = 0; i < size; i++) {   
    	        int k = i;   
    	        for (int j = size - 1; j >i; j--)  {   
    	            if (numbers[j] < numbers[k])  k = j;   
    	        }   
    	        temp = numbers[i];   
    	        numbers[i] = numbers[k];   
    	        numbers[k] = temp;   
    	    }   
    	}
    

      

  • 相关阅读:
    Vue学习手记01-安装和项目创建
    [Powershell] FTP Download File
    [PowerShell] Backup Folder and Files Across Network
    SSRS 请求并显示SharePoint人员和组字段
    Beta 冲刺 (2/7)
    Beta 冲刺 (1/7)
    BETA 版冲刺前准备
    事后诸葛亮
    Alpha 答辩总结
    α冲刺 (10/10)
  • 原文地址:https://www.cnblogs.com/gaolt/p/10037021.html
Copyright © 2011-2022 走看看