| 
 算法之排序一 
 | 
| 
 一、排序 
 | 
| 
        经典排序:冒泡排序、插入排序、选择排序、归并排序、快速排序、计数排序、基数排序、桶排序。排序算法优越评价有三个指标,执行效率、内存消耗、稳定性,一般来讲,在分析效率时会从几个方面来衡量: 
 | 
- 时间复杂度。会从最好、最坏和平均情况三个来分析;
 
- 时间复杂度的系数、常数 、低阶。在对同一阶时间复杂度的排序算法性能对比的时候,我们就要把系数、常数、低阶也考虑进来。
 
- 比较次数和交换(或移动)次数。
 
 
 | 
| 二、 冒泡排序 | 
|        冒泡排序是最基本最简单的排序了,基本的思想就是,比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 | 
[Java] 纯文本查看 复制代码 
| 
 01 
02 
03 
04 
05 
06 
07 
08 
09 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
 | 
public class demo_sort { 
    public static void main(String[] args) { 
         
        int[] numbers=new int[]{1,5,8,2,3,9,4}; 
        int i,j; 
        for(i=0;i<numbers.length-1;i++) 
        { 
            for(j=0;j<numbers.length-1-i;j++) 
            { 
                if(numbers[j]>numbers[j+1]) 
                { 
                    int temp=numbers[j]; 
                    numbers[j]=numbers[j+1]; 
                    numbers[j+1]=temp; 
                } 
            } 
        } 
        System.out.println("从小到大排序后的结果是:"); 
        for(i=0;i<numbers.length;i++) 
            System.out.print(numbers[i]+" "); 
    } 
} 
 
 | 
 
 
 
 
 
 | 
| 三、 插入排序 | 
|        插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。 | 
[Java] 纯文本查看 复制代码 
| 
 01 
02 
03 
04 
05 
06 
07 
08 
09 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
 | 
public class Insert 
{ 
        public static void main(String[] args) 
        { 
                int[] ins = {2,3,5,1,23,6,78,34}; 
                int[] ins2 = sort(ins); 
                for(int in: ins2){ 
                        System.out.println(in); 
                } 
        } 
   
        public static int[] sort(int[] ins){ 
                  
                for(int i=1; i<ins.length; i++){ 
                        for(int j=i; j>0; j--){ 
                                if(ins[j]<ins[j-1]){ 
                                        int temp = ins[j-1]; 
                                        ins[j-1] = ins[j]; 
                                        ins[j] = temp; 
                                } 
                        } 
                } 
                return ins; 
        } 
} 
 
 | 
 
 
 
 
 
 | 
更多技术资讯可关注:itheimaGZ获取(公冢号)