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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© crackyu1 中级黑马   /  2016-6-23 00:36  /  1158 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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])的位置上
继续按照这个思路就可以将这十个数变成有序的(从小到大)的数组

4 个回复

倒序浏览
这个是选择排序了吧,冒泡排序是下标相邻的两个数进行比较,若后者比前者小则进行互换
回复 使用道具 举报
你所说的是选择排序法,代码如下
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;
                                }
                        }
                }
回复 使用道具 举报
冒泡排序是:

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;
                                }
                        }
                }
回复 使用道具 举报
谢谢大家指正
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马