黑马程序员技术交流社区

标题: 冒泡排序跟选择排序 [打印本页]

作者: keting555    时间: 2016-6-27 23:23
标题: 冒泡排序跟选择排序
有一个以为数组, 里面随机存入无序的六个数字,
怎么分别用冒泡排序 跟 选择排序 排出来
另外这两种分别在什么情况下使用好一点啊

作者: Ake丶    时间: 2016-6-28 10:48
官网视频有。2种时间复杂度一样。所以没什么太多的区别
作者: dreakteasnow    时间: 2016-6-28 11:01
选择:
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:02
dreakteasnow 发表于 2016-6-28 11:01
选择:
public class Choice {

其实两种方法都一样,没什么哪个好用的,只是思路不一样
作者: 孟小垚    时间: 2016-6-28 12:31
看一看,瞧一瞧
作者: keting555    时间: 2016-6-29 23:57
dreakteasnow 发表于 2016-6-28 11:01
选择:
public class Choice {

谢谢啊~~很详细 .感觉复杂度一样
作者: wstm198907    时间: 2016-6-30 07:55
赞一个!!
作者: ancheng    时间: 2016-6-30 10:57
  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.         }
复制代码

作者: ancheng    时间: 2016-6-30 10:58
  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.         }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2