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;
    		}
    		
    	}
    

      

      

  • 相关阅读:
    sqlhelper类
    嵌入式的n个方向
    study vim + cscope
    mail lists
    关于我的学习
    yahoo enter linux mobile competition
    找工作啦 啦啦啦啦啦
    minicom display unsolicited codes
    并购的年代
    配置rt73无线网卡至suse10.3
  • 原文地址:https://www.cnblogs.com/Gabby/p/6524786.html
Copyright © 2011-2022 走看看