首页 > 编程语言 > 详细

排序算法

时间:2016-02-29 00:19:18      阅读:278      评论:0      收藏:0      [点我收藏+]

 【简单记忆】
* 冒泡排序是从左边第一个数开始,向右,相邻的两个数比较交换位置
* 选择排序是从左边第一个数开始,单独和右边所有数比较
* 插入排序是从左边第二个数开始,单独和左边所有数比较

1.冒泡排序

//数组总长度
        int length = array.length;
        //length -1 轮
        for(int i = 1;i<length;i++){
            //从第二个数开始交换
            for(int focus = 1;focus < length;focus ++){
                //交换实现左小右大
                if(array[focus -1 ]>array[focus]){
                    int temp = array[focus];
                    array[focus] = array[focus - 1];
                    array[focus -1 ] = temp;
                }
            }
            
        }

 

2.选择排序

// 从最左边开始
        for (int i = 0; i < array.length - 1; i++) {
            // 依次将i右边的数和min进行比较
            for (int j = i + 1; j < array.length; j++) {
                if (array[j] < array[i]) {
                    int temp = array[j];
                    array[j] = array[i];
                    array[i] = temp;
                }
            }
        }

 

3.插入排序

//从左边第二个数开始
        for(int i = 1;i<array.length;i++){
            //依次将i和左边的数比较,实现左边小右边大
            for(int j = 0;j<i;j++){
                if(array[i]<array[j]){
                    int temp = array[i];
                    array[i] = array[j];
                    array[j] = temp;
                }
            }
        }

 

排序算法

原文:http://www.cnblogs.com/anni-qianqian/p/5225935.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!