首页 > 编程语言 > 详细

【冒泡排序算法研究】

时间:2016-03-19 02:05:02      阅读:230      评论:0      收藏:0      [点我收藏+]

现有如下六人,身高如下:

//张三(161) 、李四(168) 、 王二麻子(155) 、 赵六(180) ?、孙七(144) ?、司马相如(200)

//现要求把这六个人身高排序(从高到矮降序,或者从矮到高升序)

?

//冒泡排序核心思想:

先揪出第一个人张三 让他跟其余的人比较,得出司马相如最高,交换张三、司马位置

//司马相如(200) 李四(168) ?王二麻子(155) ?赵六(180) ?孙七(144) ? 张三(161)

?

//第二趟排序,剔除司马,从其余人中选择最高的,结果交换;李四和赵六位置

//司马相如(200) ?赵六(180) ?王二麻子(155) ?李四(168) ?孙七(144) ? 张三(161)

?

//第三趟排序,剔除司马、赵六,从其余人中选择最高的,结果交换;王二麻子和李四位置

//司马相如(200) ?赵六(180) ?李四(168) ? 王二麻子(155) ?孙七(144) ?张三(161)?

?

//第三趟排序,剔除司马、赵六、李四,从其余人中选择最高的,结果交换;王二麻子和张三位置

//司马相如(200) ?赵六(180) ?李四(168) ?张三(161) ?孙七(144) ? 王二麻子(155)

?

//第四趟排序,剔除司马、赵六、李四、张三,从其余人中选择最高的,结果交换;王二麻子和孙七位置

//司马相如(200) ?赵六(180) ?李四(168) ?张三(161) ?王二麻子(155) 孙七(144)?

?

public static void sort(int[] a) {

int temp = 0;

for (int i = 0; i <=a.length -1; i++) {

for (int j = 0; j < a.length -1; j++) {

if (a[j] < a[j + 1] ) {//如果第一个元素比下一个小

temp = a[j+ 1]; //交换元素位置,下一个先站出来,留个坑A

a[j+ 1] = a[i]; //第一个元素让出位置,占据留出的坑A,留出坑B

a[i] = temp; //最高的元素占据坑B

}

}

//观察打印结果使用

System.out.print("第" + (i + 1) + "次排序结果:");

for (int index = 0; index < a.length; index++) {

System.out.print(a[index]+ "\t");

}

System.out.println("");

}

}

【冒泡排序算法研究】

原文:http://gaojingsong.iteye.com/blog/2284672

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!