码迷,mamicode.com
首页 > 编程语言 > 详细

八大排序算法总结(1)

时间:2017-12-08 22:50:22      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:排序算法总结   最大   stat   扑克   length   for   pre   扑克牌   sort   

冒泡排序:

第一轮:从下标0到n-1(n 是数组长度),如果前一个元素比后一个元素大,那么,相邻的两两交换,最后数组中最大的元素放在最后一个位置上。

第二轮:从标0到n-2,重复上过程,这样第二大的元素,就放在了倒数第二个位置上。

。。。。。。。

//冒泡排序
    public static void buddleSort(int[] a ){
        for(int i =0;i<a.length-1;i++)
            for(int j=0;j<a.length-1-i;j++)
                if(a[j]>a[j+1])
                    swap(a, j+1, j);                                
    }

选择排序:

第一轮:从下标0到n-1,找出最小元素的下标min, 交换min 与 0,这样第一个位置放的是最小的元素。

第二轮:从下标1到n-1,找出最小元素的下标min,交换min与0,这样第二个位置放的是第二小的元素。

。。。。。。。

//选择排序
    public static void choseSort(int[] a ) {
        int min;
        for(int i=0;i<=a.length-1;i++){
            min = i;
            for(int j=i;j<=a.length-1;j++)
                if(a[j]<a[min])
                    min=j;
            
            if(min!=i) swap(a, min, i);
        }
    }

插入排序:

模拟摸扑克牌,

1 public static void insertSort(int[] a) {
2         for (int i = 0; i < a.length; i++) 
3             for (int j = i; j > 0; j--) 
4                 if(a[j]<a[j-1])
5                     swap(a, j, j-1);                    
6     }

辅助函数:

public static void swap(int[] a ,int i ,int j) {
        int temp=a[i];
        a[i] = a[j];
        a[j] = temp;
        
    }

 

八大排序算法总结(1)

标签:排序算法总结   最大   stat   扑克   length   for   pre   扑克牌   sort   

原文地址:http://www.cnblogs.com/zle1992/p/8007138.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!