黑马程序员技术交流社区
标题:
冒泡排序
[打印本页]
作者:
wh19900105
时间:
2016-5-16 23:59
标题:
冒泡排序
冒泡排序如何代码实现?
作者:
yikwing
时间:
2016-5-17 00:00
/**
* Created by yikwing on 2016/5/17.
*/
import java.util.Random;
public class maopao {
public static void main(String[] args) {
long stratTime = System.currentTimeMillis();
int sum = 0;
for (int i = 0; i < 1000000000; i++) {
sum += i;
}
Random r = new Random();
int arr[] = new int[10];
for (int i = 0; i < arr.length; i++) {
arr[i] = r.nextInt(100);
}
PrintArray(arr);
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]) {
Swap(arr, j, j + 1);
}
}
}
PrintArray(arr);
long endtime = System.currentTimeMillis();
System.out.println("程序运行时间为:" + (endtime - stratTime) + "毫秒");
}
public static void PrintArray(int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
}
public static void Swap(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
复制代码
作者:
yikwing
时间:
2016-5-17 00:02
yikwing 发表于 2016-5-17 00:00
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]) {
Swap(arr, j, j + 1);
}
}
}
复制代码
这个是冒泡算法的核心代码.
作者:
我是你岁哥❤环
时间:
2016-5-17 02:05
算法原理:
冒泡排序算法的运作如下:
1、比较相邻的元素。如果第一个比第二个大,就交换他们两个;
2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,在这一点,最后的元素应该会是最大的数;
3、针对所有的元素重复以上的步骤,除了最后一个;
4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
作者:
ypenghui
时间:
2016-5-17 18:57
原理和代码多解释的不错,本人认为关键在于两个重点:1、循环2、换位
作者:
刘凯强
时间:
2016-5-17 19:57
想问一下,以后用冒泡排序多一点还是选择排序多呢?
作者:
yikwing
时间:
2016-5-17 21:35
刘凯强 发表于 2016-5-17 19:57
想问一下,以后用冒泡排序多一点还是选择排序多呢?
选择排序比冒泡排序执行效率高,一般开发都用选择排序
作者:
再见卡卡罗特
时间:
2016-5-17 21:56
看一看。。。。。。。。。
作者:
deqiqi939788736
时间:
2016-5-19 17:32
开发时都是排序方法,直接调用,不用你写 ,
作者:
南无ice
时间:
2016-5-19 20:06
其实冒泡排序代码实现不难,把代码搞懂了就可以。主要是思想。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2