A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

有什么区别啊……

26 个回复

正序浏览
冒泡排序每次比较的是两个相邻的数,一次比较的结果是最大数出现在最后,就像气泡一样上浮,所以称之为冒泡排序;选择排序是取第一个数,将它与剩下数的最小值交换。两者排序一次进行数据交换的次数不同,而且选择排序是不稳定的,使用哪个都可以
回复 使用道具 举报
public static void quickSort(int[] arr,int left,int right) {
                if (left> right) {
                        return;
                }
                int i = left; int j = right;
                int baseNum = arr[left];
                while (i!=j) {
                        while (arr[j] >= baseNum && j> i) {
                                j--;
                        }
                        while (arr[i] <= baseNum && i< j) {
                                i++;
                        }
                        if (i<j) {
                                int temp = arr[i];
                                arr[i] = arr[j];
                                arr[j] = temp;
                        }
                }
                //程序到达此处i= j 将i索引上的数和基准数呼唤位置
                arr[left] = arr[i];
                arr[i] = baseNum;
                //利用方法的递归再次调用快排方法
                quickSort(arr,left,i -1);        //排基准数的左边
                quickSort(arr,j+1,right);        //排基准数的右边
        }
public static void main(String[] args) {
               int[] arr = {1,2,3,5,6,4};
                quickSort(arr,0,arr.lenth-1);
}
楼主需要提高的话可以看看这种,个人感觉选择冒泡都属于基本排序,谈不上效率.
回复 使用道具 举报
这还用说啊  比较的方式不同啊
回复 使用道具 举报
冒泡排序是相邻的比较,大的往后移.得到最大的数,;;;选择排序是第一个跟后面每一个进行比较,得到最小的数
回复 使用道具 举报
选择的方法不同!
回复 使用道具 举报
冒泡是由大到小的计算排序,,,,,,,选择是由小到大的
回复 使用道具 举报
他们的运算过程不一样吧!!  
回复 使用道具 举报
没有选择语句控制跳出循环的情况下,两种排序的循环次数都是固定的,我感觉算一下就知道了
回复 使用道具 举报
比较的顺序是不同的  
回复 使用道具 举报
个人感觉是比较的次数不同,数据多的时候,效率就显示出来了,数据少应该感觉不出什么
回复 使用道具 举报
冒泡排序每次比较的是两个相邻的数,第一次比较后结果是最大数出现在最后,. 选择排序是取第一个数,将它与剩下数的最小值交换
回复 使用道具 举报
冒泡排序是相邻的两个元素比较,选择排序是一个和其他所有元素比较
回复 使用道具 举报
楼上这么多删除此贴是啥意思啊?
回复 使用道具 举报
根本就是思想不同喽
回复 使用道具 举报
我看来 两者的区别最多也就是原理上的不同,实现方法还是一样的,都是通过循环嵌套加上比较。
回复 使用道具 举报
快速排序效率最快
回复 使用道具 举报
只是元素值的索引选择不同
回复 使用道具 举报
学习了学习了
回复 使用道具 举报
gcno93 中级黑马 2016-8-31 22:51:10
8#
冒泡  相邻  选择全比
回复 使用道具 举报
absvir 中级黑马 2016-8-31 22:42:16
7#
冒泡比较与交换的是相邻的两项,即i项和i+1项,选择比较的第i项和其后所有的项(为了方便表述设该项为n),交换的也是i项和n项.总体来说,同样的数据两者比较次数相同,但选择排序的交换次数更少,两种算法,平均效率(算法上专业名词为时间复杂度)相同,但直观感觉交换次数少的选择排序更快,实际上,真的是一样的.比如完全逆序的整数,选择和冒泡的比较次数和交换次数没有差别,打字分析太累,你可以自己按代码分析一下
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马