黑马程序员技术交流社区

标题: java中的冒泡排序与比较排序那个效率更高? [打印本页]

作者: 世界公民    时间: 2013-6-20 07:47
标题: java中的冒泡排序与比较排序那个效率更高?
//选择排序法public static int[] selectSort(int[] args){//选择排序算法
2                 for (int i=0;i<args.length-1 ;i++ ){
3                         int min=i;
4                         for (int j=i+1;j<args.length ;j++ ){
5                                 if (args[min]>args[j]){
6                                         min=j;
7                                 }
8                         }
9                         if (min!=i){
10                         int temp=args;
11                         args=args[min];
12                         args[min]=temp;        
13                         }
14                 }
15                 return args;
16         }//冒泡排序法public static int[] bubbleSort(int[] args){//冒泡排序算法
2                 for(int i=0;i<args.length-1;i++){
3                         for(int j=i+1;j<args.length;j++){
4                                 if (args>args[j]){
5                                         int temp=args;
6                                         args=args[j];
7                                         args[j]=temp;
8                                 }
9                         }
10                 }
11                 return args;
12         }
请问这两种算法各自的优点是什么啊???哪一个的执行效率会更高一些呢???

作者: peerless2012    时间: 2013-6-20 09:06
排序算法中,没有绝对的说那一效率更高。
n比较小的时候,适合 插入排序和选择排序,
基本有序的时候,适合直接插入排序和冒泡排序,
n很大但是关键字的位数较少时,适合 链式基数排序。
n很大的时候,适合 快速排序 堆排序 归并排序 ,无序的时候适合 快速排序




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2