黑马程序员技术交流社区
标题:
冒泡排序
[打印本页]
作者:
yang1352546
时间:
2014-6-5 23:53
标题:
冒泡排序
冒泡排序效率高么?为什么
作者:
我为你着迷
时间:
2014-6-6 00:09
本帖最后由 我为你着迷 于 2014-6-6 08:07 编辑
冒泡排序和选择排序的效率都不高 ,因为这2种排序在堆内存中换位置比较消耗资源。虽然不高但是有不高的好处,代码简单,看起来比较直观好记。毕老师不是说了嘛 ,最快的排序是希尔排序,是以三层循环加上位运算的排序,是速度最快的效率最高的,但是比较复杂。晕,代码看起来有点乱。
class ArrayText3
{
//选择排序。
public static void selectSort(int[] arr)
{
for(int x=0;x<arr.length;x++)
{
for(int y=x+1;y<arr.length-1;y++)
{
if(arr[x]>arr[y])
{
int temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}
}
//冒泡排序。
public static void bubbleSort(int[] arr)
{
for(int x=0;x<arr.length-1;x++)
{
int y=0;y<arr.length-x-1;y++)
{
if(arr[y]>arr[y+1})
{
int temp=arr[y];
arr[y]=arr[y+1];
arr[y+1]=temp;
}
}
}
}
public static void main(String[] args)
{
//排序前。
int[] arr={3,1,4,5,6,8};
printArray(arr);
//排序后。
selectSort(arr);
//bubbleSort(arr);
printArray(arr);
}
//打印数组中的元素,元素间用逗号隔开。
public static void printArray(int[] arr)
{
System.out.println("[");
for(int x=0;x<arr.length;x++)
{
if(x!=arr.length-1)//这句的话意思是x有等于arr.length-1和x不等于arr.length-1这两种情况。
System.out.print(arr[x]+",");
else
System.out.println(arr[x]+"]");
}
}
}
复制代码
作者:
卞新浩
时间:
2014-6-6 08:15
java 内部都帮我们实现了 不像c 语言 什么都要自己写
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2