黑马程序员技术交流社区

标题: 详解冒泡排序和选择排序,附图片解析和代码 [打印本页]

作者: 邱石    时间: 2015-6-7 07:25
标题: 详解冒泡排序和选择排序,附图片解析和代码
(1)排序
                A:冒泡排序
                        相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处。
                        同理,在进行arr.length次比较后,其他的元素就可以排好。
                        实现方法如下:
               
  1. public static void bubbleSort(int[] arr) {
  2.                                 for(int x=0; x<arr.length-1; x++) {
  3.                                         for(int y=0; y<arr.length-1-x; y++) {
  4.                                                 if(arr[y] > arr[y+1]) {
  5.                                                         int temp = arr[y];
  6.                                                         arr[y] = arr[y+1];
  7.                                                         arr[y+1] = temp;
  8.                                                 }
  9.                                         }
  10.                                 }
  11.                         }
复制代码


                       
                B:选择排序
                        把0索引的元素,和索引1以后的元素都进行比较,第一次完毕,最小值出现在了0索引。同理,其他的元素就可以排好,
                        就相当于从第一个元素开始,和后面的每个元素进行比较。
                       
               
  1. public static void selectSort(int[] arr) {
  2.                                 for(int x=0; x<arr.length-1; x++) {
  3.                                         for(int y=x+1; y<arr.length; y++) {
  4.                                                 if(arr[y] < arr[x]) {
  5.                                                         int temp = arr[x];
  6.                                                         arr[x] = arr[y];
  7.                                                         arr[y] = temp;
  8.                                                 }
  9.                                         }
  10.                                 }
  11.                         }
复制代码




作者: 王冲6060    时间: 2015-6-7 07:49
很详细,又复习了一遍!
作者: gghost2012    时间: 2015-6-7 08:11
给力,赞一下
作者: 邱石    时间: 2015-6-7 10:44
王冲6060 发表于 2015-6-7 07:49
很详细,又复习了一遍!

都是新手,大家一起进步
作者: wuyusi    时间: 2015-6-7 11:11
谢谢分享
作者: 痞子刘忙    时间: 2015-6-7 11:47
我的理解选择排序,是一个数和其他数比较,冒泡是相邻数比较,大的就慢慢冒出来了。
作者: yang2015    时间: 2015-6-7 16:00
学习学习。。。。
作者: 流水0215    时间: 2015-6-7 16:57
学习一下,加油
作者: 一休    时间: 2015-6-7 20:06
关键是掌握思想,代码只是思想的体现
作者: java8023    时间: 2015-6-8 00:14
我想要快速排序法的 你知道吗
作者: heima591046495    时间: 2015-6-8 00:33
6666666,最近正为这个冒泡发愁呢就看到了你的帖子,,及时雨啊
作者: zhenxing133    时间: 2015-6-8 00:45
很好,又重新看了一遍
作者: qq479470741    时间: 2015-6-8 09:01
谢谢分享!
作者: 海角秋风    时间: 2015-6-8 13:38
复习一下。。。
作者: 邱石    时间: 2015-6-8 16:40
海角秋风 发表于 2015-6-8 13:38
复习一下。。。

有不足之处还望指出,共同进步。
作者: 邱石    时间: 2015-6-8 16:46
qq479470741 发表于 2015-6-8 09:01
谢谢分享!

有不足之处还望指出,共同进步




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