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

      

      

  • 相关阅读:
    json基础
    css语法以及css选择器
    HTML语义化标签
    CSS插入的四种方式
    Hibernate主键生成策略及选择
    HIbernate处理数据更新丢失
    数据库的四大特性以及事务的隔离级别
    MD5加密
    redis主从复制
    redis的持久化方案
  • 原文地址:https://www.cnblogs.com/Gabby/p/6524786.html
Copyright © 2011-2022 走看看