zoukankan      html  css  js  c++  java
  • 简单选择排序

    package demo;
    /**
     * 简单排序
     * 时间复杂度O(n^2)
     * 不稳定;
     * @author Lynn
     *
     */
    public class SimpleSelectSort {
    	public static void main(String[] args) {
    		int[] arr = {10,7,2,4,8,6,1,9};
    		System.out.print("排序前:");
    		printArr(arr);
    		selectSort(arr);
    		System.out.print("排序后:");
    		printArr(arr);
    	}
    	/**
    	 * 选择排序;
    	 * @param arr
    	 */
    	private static void selectSort(int[] arr) {
    		int min = 0; //每一趟的最小值下标;
    		for(int i=0;i<arr.length;i++) {
    			min = i;
    			for(int j=i+1;j<arr.length;j++) {
    				if(arr[j]<arr[min]) {
    					min = j;
    				}
    			}
    			if(min!=i) {//需要交换;
    				int temp = arr[i];
    				arr[i]=arr[min];
    				arr[min]=temp;
    			}
    		}
    	}
    	/**
    	 * 打印数组;
    	 * @param arr
    	 */
    	private static void printArr(int[] arr) {
    		if(arr==null) {
    			return ;
    		}
    		for(int i =0;i<arr.length;i++) {
    			if(i!=arr.length-1) {
    				System.out.print(arr[i]+" ");
    			}else {
    				System.out.print(arr[i]);
    			}
    		}
    		System.out.println();
    	}
    }
    
    

    运行结果

    多思考,多尝试。
  • 相关阅读:
    sql分页查询
    vi编辑器使用
    Linux命令:
    ubuntu中mysql忘记密码如何修改
    关于MySQL中自增的理解和设置
    MySQL中是索引
    MySQL中的分页操作结合python
    MySQL的分组和排序
    MySQL多表连接操作
    .NET Core App部署Linux
  • 原文地址:https://www.cnblogs.com/LynnMin/p/9528649.html
Copyright © 2011-2022 走看看