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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© keting555 中级黑马   /  2016-6-27 23:23  /  697 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有一个以为数组, 里面随机存入无序的六个数字,
怎么分别用冒泡排序 跟 选择排序 排出来
另外这两种分别在什么情况下使用好一点啊

8 个回复

倒序浏览
官网视频有。2种时间复杂度一样。所以没什么太多的区别
回复 使用道具 举报
选择:
public class Choice {

        public static void main(String[] args) {
       int[] arr={43,56,23,85,23,34};
       choice(arr);
       print(arr);
        }
public static void choice(int[] arr){
        for(int i=0;i<arr.length-1;i++){
                for(int j=i;j<arr.length;j++){
                        if(arr>arr[j]){
                                int temp=0;
                                temp=arr[j];
                                arr[j]=arr;
                                arr=temp;
                        }
                }
        }
}
public static void print(int[] arr){
        for(int i=0;i<arr.length;i++){
                System.out.print(arr+" ");
        }
}
}
冒泡:
public static void main(String[] args) {
       int[] arr={43,56,23,85,23};
       choice(arr);
       print(arr);
        }
public static void choice(int[] arr){
        for(int i=0;i<arr.length-1;i++){
                for(int j=0;j<arr.length;j++){
                        if(arr[j]>arr[j+1]){
                                int temp=0;
                                temp=arr[j+1];
                                arr[j]=arr[j+1];
                                arr[j]=temp;
                        }
                }
        }

回复 使用道具 举报
dreakteasnow 发表于 2016-6-28 11:01
选择:
public class Choice {

其实两种方法都一样,没什么哪个好用的,只是思路不一样
回复 使用道具 举报
看一看,瞧一瞧
回复 使用道具 举报
dreakteasnow 发表于 2016-6-28 11:01
选择:
public class Choice {

谢谢啊~~很详细 .感觉复杂度一样
回复 使用道具 举报
赞一个!!
回复 使用道具 举报
  1. public static void selectSort(int[] numbers) {
  2.                 int size = numbers.length;
  3.                
  4.                 for (int i = 0; i < size-1; i++) {
  5.                         for (int j = i + 1; j < size; j++) {
  6.                                 if (numbers[j] < numbers[i]) {
  7.                                         swap(numbers,j,i);
  8.                                 }
  9.                         }
  10.                 }
  11.         }
复制代码
回复 使用道具 举报
  1. public static void bubbleSort(int[] numbers) {

  2.                 int size = numbers.length;
  3.                 for (int i = 0; i < size - 1; i++) {
  4.                         for (int j = 0; j < size-1-i; j++) {
  5.                                 if (numbers[j] > numbers[j+1]) {       
  6.                                         swap(numbers,j,i);
  7.                                 }
  8.                         }
  9.                 }
  10.         }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马