黑马程序员技术交流社区

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

作者: crackyu1    时间: 2016-6-23 00:36
标题: 冒泡排序
int str[10] 10个无序数据
首先,把10个数里最小的个数放到下标为0的位置上(str[0])
通过将下标为0的数(str[0])与剩下其余9个数进行对比交换(将较少者放置在下标为0的位置上),就可以得到这10个数最小的那个
10个数最小的那位确定后,接下来就要找剩下9个数最小的那个。
因为已经确定出一个最小的数,所以就不要动str[0],直接从str[1]开始,与剩下的8个数对比交换,找出9个数中最小的那位放到下标为1(str[1])的位置上
继续按照这个思路就可以将这十个数变成有序的(从小到大)的数组
作者: dreakteasnow    时间: 2016-6-23 09:24
这个是选择排序了吧,冒泡排序是下标相邻的两个数进行比较,若后者比前者小则进行互换
作者: wsl123456    时间: 2016-6-23 13:37
你所说的是选择排序法,代码如下
for(int i = 0; i < arr.length - 1; i++) {
                        for(int j = i + 1; j < arr.length; j++) {
                                if(arr[i] > arr[j]) {
                                        int temp = arr[j];
                                        arr[j] = arr[i];
                                        arr[i] = temp;
                                }
                        }
                }

作者: syinys7    时间: 2016-6-23 16:34
冒泡排序是:

for(int i = 0; i < arr.length - 1; i++) {
                        for(int j = 0; j < arr.length-1-i; j++) {
                                if(arr[j] > arr[j+1]) {
                                        int temp = arr[j];
                                        arr[j] = arr[j+1];
                                        arr[j+1] = temp;
                                }
                        }
                }
作者: crackyu1    时间: 2016-6-24 01:18
谢谢大家指正




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