java排序,效率高的是哪种排序方法

java排序,效率高的是哪种排序方法... java排序,效率高的是哪种排序方法 展开
 我来答
nizhihe
2015-07-06 · TA获得超过1637个赞
知道小有建树答主
回答量:542
采纳率:73%
帮助的人:148万
展开全部
和所有其他语言是一样的。应该还是快速排序效率最高。

public static void bubbleSort(int a[]) {
int len = a.length;
for (int i = 0; i < len - 1; i++) {
for (int j = 0; j < len - 1 - i; j++) {
if (a[j] > a[j + 1]) {
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
public static void selectSort(int a[]) {
int temp = 0;
int len = a.length;
for (int i = 0; i < len - 1; i++) {
int min = a[i];
int index = i;
for (int j = i + 1; j < len; j++) {
if (min > a[j]) {
min = a[j];
index = j;
}
}
temp = a[i];
a[i] = a[index];
a[index] = temp;
}
}
public static void insertSort(int a[]) {
int len = a.length;
for (int i = 1; i < len; i++) {
int temp = a[i];// 待插入的值
int index = i;// 待插入的位置
while (index > 0 && a[index - 1] > temp) {
a[index] = a[index - 1];// 待插入的位置重新赋更大的值
index--;// 位置往前移
}
a[index] = temp;
}
}
public static int partition(int a[], int low, int height) {
int key = a[low];
while (low < height) {
while (low < height && a[height] >= key)
height--;
a[low] = a[height];
while (low < height && a[low] <= key)
low++;
a[height] = a[low];
}
a[low] = key;
return low;
}
public static void quickSort(int a[], int low, int height) {
if (low < height) {
int result = partition(a, low, height);
quickSort(a, low, result - 1);
quickSort(a, result + 1, height);
}
}
测试结果
------------------------------------------
测试数据10000
冒泡排序:120ms
选择排序:32ms
插入排序:20ms
快速排序:7ms
------------------------------------------
测试数据100000
冒泡排序:13098ms
选择排序:2334ms
插入排序:1264ms
快速排序:23ms
效率差距很大啊!!!!
百度网友0c3258b02
2009-08-04 · TA获得超过672个赞
知道小有建树答主
回答量:550
采纳率:0%
帮助的人:626万
展开全部
具体情况具体分析。。。
数据基本有序了用冒泡最快了
归并排序占用空间
适用于对空间要求不高的场合
堆排序情况也跟归并差不多
但也与堆的实现有关系
快速排序一般来说很好,适用于数据量大的情况
数据量少的话还是别用了
有时反而不如O(n^2)的排序方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2fdeda9
2009-08-03 · TA获得超过632个赞
知道小有建树答主
回答量:603
采纳率:0%
帮助的人:429万
展开全部
看具体情况使用.顺序排列,索引最快是LinkedList,有插入操作的是ArrayList
Verctor是同步的,安全,性能较低
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangcongt8
2015-06-12 · 超过46用户采纳过TA的回答
知道小有建树答主
回答量:97
采纳率:0%
帮助的人:70.7万
展开全部
你百度一下快速排序。它是左右两边同时排序的,效率很高。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
354571722
2009-08-03 · 超过19用户采纳过TA的回答
知道答主
回答量:79
采纳率:0%
帮助的人:60.6万
展开全部
和所有其他语言是一样的。应该还是快速排序效率最高。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式