zoukankan      html  css  js  c++  java
  • 数据结构之排序算法Java实现(1)—— 选择类排序之简单选择排序算法

    选择性排序是基于“选择”的,简单选择排序是每一次为一个数选择出一个合适的位置放进去。Java代码如下:

    升序排序:

    /**
    	 * 简单选择排序
    	 * 升序排序
    	 */
    	@Override
    	public <T extends Comparable<? super T>> void sortByAsc(T[] data) {
    		if(data == null || data.length <= 1){
    			return;
    		}
    		/**遍历数组,为每一个数选择适合他的位置*/
    		for(int i = 0; i < data.length; i++){
    			int index = i;
    			/**遍历i之后的数组,找到合适的值*/
    			for(int j = i + 1; j < data.length; j++){
    				if(data[index].compareTo(data[j]) > 0){
    					index = j;
    				}
    			}
    			/**交换值*/
    			T temp = data[index];
    			data[index] = data[i];
    			data[i] = temp;
    		}
    		
    	}
    

      

      升序排序:

    /**
    	 * 简单选择排序
    	 * 降序排序
    	 */
    	@Override
    	public <T extends Comparable<? super T>> void sortByDesc(T[] data) {
    		if(data == null || data.length <= 1){
    			return;
    		}
    		/**遍历数组,为每一个数选择适合他的位置*/
    		for(int i = 0; i < data.length; i++){
    			int index = i;
    			/**遍历i之后的数组,找到合适的值*/
    			for(int j = i + 1; j < data.length; j++){
    				if(data[index].compareTo(data[j]) < 0){
    					index = j;
    				}
    			}
    			/**交换值*/
    			T temp = data[index];
    			data[index] = data[i];
    			data[i] = temp;
    		}
    		
    	}
    

      

      

  • 相关阅读:
    openjump遇到的一些问题
    kettle安装教程/安装失败
    C# string和byte[]数组之间相互转换
    C# 各种进制转换
    C#AE创建FeatureDataset/创建数据、集要素集
    ArcCatalog/arcgis怎么连接postgresql/postpis
    梦断代码阅读笔记03
    体温冲刺完成
    体温冲刺
    体温作业
  • 原文地址:https://www.cnblogs.com/Gabby/p/6524786.html
Copyright © 2011-2022 走看看