黑马程序员技术交流社区
标题:
冒泡排序 希望嫩个帮到大家
[打印本页]
作者:
陈熙
时间:
2015-8-14 22:07
标题:
冒泡排序 希望嫩个帮到大家
public class BubbleSortDemo {
public static void main(String[] args) {
// 创建一个数组
int[] arr = { 24, 69, 80, 57, 13 } ;
System.out.print("排序前: ");
print(arr);
// 排序
bubbleSort2(arr);
System.out.print("排序后: ");
print(arr);
}
/**
* 冒泡排序
* @param arr
*/
public static void bubbleSort2(int[] arr){
for(int y = 0 ; y < arr.length - 1 ; y++){
for(int x = 0 ; x < arr.length - 1 - y; x++){
if(arr[x + 1] < arr[x]){
int temp = arr[x] ;
arr[x] = arr[x + 1];
arr[x + 1 ] = temp ;
}
}
}
}
/**
* 冒泡排序推导过程
* @param arr
*/
public static void bubbleSort1(int[] arr){
// 第一次排序
// arr.length - 1: -1的目的就是防止数组角标越界
for(int x = 0 ; x < arr.length - 1 - 0; x++){
if(arr[x + 1] < arr[x]){
int temp = arr[x] ;
arr[x] = arr[x + 1];
arr[x + 1 ] = temp ;
}
}
// 第二次
for(int x = 0 ; x < arr.length - 1 - 1; x++){
if(arr[x + 1] < arr[x]){
int temp = arr[x] ;
arr[x] = arr[x + 1];
arr[x + 1 ] = temp ;
}
}
// 第三次
for(int x = 0 ; x < arr.length - 1 - 2; x++){
if(arr[x + 1] < arr[x]){
int temp = arr[x] ;
arr[x] = arr[x + 1];
arr[x + 1 ] = temp ;
}
}
// 第四次
for(int x = 0 ; x < arr.length - 1 - 3; x++){
if(arr[x + 1] < arr[x]){
int temp = arr[x] ;
arr[x] = arr[x + 1];
arr[x + 1 ] = temp ;
}
}
}
/**
* 遍历
* @param arr
*/
public static void print(int[] arr){
System.out.print("[");
for(int x = 0 ; x < arr.length ; x++){
if(x == arr.length - 1){
System.out.println(arr[x] + "]");
}else {
System.out.print(arr[x] + ", ");
}
}
}
}
作者:
奇峰
时间:
2015-8-16 15:13
冒泡很有用,搞不好笔试会考。
作者:
周博文
时间:
2015-8-16 15:19
学习了。
作者:
yangkai69
时间:
2015-8-16 16:29
很棒的总结!
作者:
迷茫不堪的年纪
时间:
2015-10-16 02:53
== 和 != 的意思一样?
作者:
五月天的倔强
时间:
2015-10-16 07:45
老毕视频里说:冒泡排序的方法要记住,面试和笔试会考;好像说开发时用的不多?而是其他比较容易想的方法?
作者:
liuqianfly
时间:
2015-10-16 09:28
学习学习!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2