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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

他们的运算过程不一样吧!!  
回复 使用道具 举报
冒泡是由大到小的计算排序,,,,,,,选择是由小到大的
回复 使用道具 举报
选择的方法不同!
回复 使用道具 举报
冒泡排序是相邻的比较,大的往后移.得到最大的数,;;;选择排序是第一个跟后面每一个进行比较,得到最小的数
回复 使用道具 举报
这还用说啊  比较的方式不同啊
回复 使用道具 举报
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);
}
楼主需要提高的话可以看看这种,个人感觉选择冒泡都属于基本排序,谈不上效率.
回复 使用道具 举报
冒泡排序每次比较的是两个相邻的数,一次比较的结果是最大数出现在最后,就像气泡一样上浮,所以称之为冒泡排序;选择排序是取第一个数,将它与剩下数的最小值交换。两者排序一次进行数据交换的次数不同,而且选择排序是不稳定的,使用哪个都可以
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马