zoukankan      html  css  js  c++  java
  • java排序算法(持续更新)

    package exception;
    
    import java.util.Arrays;
    
    public class Sort {
    	public static void main(String[] args) {
    		int[] array = {1,5,2,9,7,8,6,4,0};
    //		System.out.println(Arrays.toString(bundleSort(array)));
    //		System.out.println(Arrays.toString(insertSort(array)));
    		System.out.println(Arrays.toString(selectSort(array)));
    	}
    	/**
    	 * 冒泡排序
    	 * 数组中相邻两个数据进行比较,将较大的往后放
    	 * @param array
    	 * @return
    	 */
    	static int[] bundleSort(int[] array) {
    		for (int i = 0; i < array.length; i++) {
    			for (int j = i; j < array.length-1; j++) {
    				int temp = array[j];
    				if(array[j] > array[j+1]) {
    					array[j] = array[j+1];
    					array[j+1] = temp;
    				}
    			}
    		}
    		return array;
    	}
    	
    	/**
    	 * 插入排序
    	 * 将后一个数和他前面所有的元素进行比较,然后确定他的位置
    	 */
    	static int[] insertSort(int[] array) {
    		for (int i = 1; i < array.length; i++) {
    		    int temp = array[i];
    		    int j = i;
                for (;j>0; j--) {
                    if(temp<array[j-1]){
                        array[j] = array[j-1];  
                        array[j-1] = temp;
                    }
                }
            }
    	    return array;
    	}
    	
    	/**
    	 * 选择排序法
    	 * 假定左边为有序区,右边为无序区,每次记录右边最小值的下标,找到右侧最小值,放置在左边。
    	 */
    	static int[] selectSort(int[] array){
    	    int temp = 0;
    	    int k = 0;
    	    for (int i = 0; i < array.length; i++) {
    	        k = i;
                for (int j = i; j < array.length; j++) {
                    if(array[k]>array[j]){
                        k = j;
                    }
                }
                if(i!=k){
                    temp = array[i];
                    array[i] = array[k];
                    array[k] = temp;
                }
            }
    	    return array;
    	}
    }
    

      

  • 相关阅读:
    common.js
    数据库_day05_查询语句及JDBC
    数据库_day04_基本的增删改查操作
    Java 抽象类、普通类、接口的区别
    java中ArrayList和LinkedList的区别
    数据库_day03_对数据库的基本操作
    java_day18_集合框架map和list
    java_day17_socket,tcp协议传输
    java_day16_读写锁,fork-join框架
    java_day15_线程,匿名内部类,线程安全
  • 原文地址:https://www.cnblogs.com/caoleiCoding/p/8886888.html
Copyright © 2011-2022 走看看