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

      

      

  • 相关阅读:
    项目总结
    css的div垂直居中的方法,百分比div垂直居中
    HTTP 协议
    web和网络基础
    设计模式--策略模式
    设计模式--单例模式
    mockjs的基本使用入门
    浏览器标签页切换时jquery动画的问题
    javascript中的vavigator对象
    编写可维护的JavaScript-随笔(七)
  • 原文地址:https://www.cnblogs.com/Gabby/p/6524786.html
Copyright © 2011-2022 走看看