中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java排序算法速度比較(轉載)

發布時間:2020-08-06 19:14:29 來源:ITPUB博客 閱讀:219 作者:polalisi 欄目:編程語言


public class Sort {

public void swap(int a[], int i, int j) {
int tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}

public int partition(int a[], int low, int high) {
int pivot, p_pos, i;
p_pos = low;
pivot = a[p_pos];
for (i = low + 1; i <= high; i++) {
if (a[i] > pivot) {
p_pos++;
swap(a, p_pos, i);
}
}
swap(a, low, p_pos);
return p_pos;
}

public void quicksort(int a[], int low, int high) {
int pivot;
if (low < high) {
pivot = partition(a, low, high);
quicksort(a, low, pivot - 1);
quicksort(a, pivot + 1, high);
}

}

public static void main(String args[]) {
int vec[] = new int[] { 37, 47, 23, -5, 19, 56 };
int temp;
//
選擇排序法(Selection Sort)
long begin = System.currentTimeMillis();
for (int k = 0; k < 1000000; k++) {
for (int i = 0; i < vec.length; i++) {
for (int j = i; j < vec.length; j++) {
if (vec[j] > vec[i]) {
temp = vec[i];
vec[i] = vec[j];
vec[j] = temp;
}
}

}
}
long end = System.currentTimeMillis();
System.out.println("
選擇法用時為:" + (end - begin));
//
打印排序好的結果

for (int i = 0; i < vec.length; i++) {
System.out.println(vec[i]);
}
//
冒泡排序法(Bubble Sort)
begin = System.currentTimeMillis();
for (int k = 0; k < 1000000; k++) {
for (int i = 0; i < vec.length; i++) {
for (int j = i; j < vec.length - 1; j++) {
if (vec[j + 1] > vec[j]) {
temp = vec[j + 1];
vec[j + 1] = vec[j];
vec[j] = temp;
}
}

}
}
end = System.currentTimeMillis();
System.out.println("
冒泡法用時為:" + (end - begin));
//
打印排序好的結果

for (int i = 0; i < vec.length; i++) {
System.out.println(vec[i]);
}

//插入排序法(Insertion Sort)
begin = System.currentTimeMillis();
for (int k = 0; k < 1000000; k++) {
for (int i = 1; i < vec.length; i++) {
int j = i;
while (vec[j - 1] < vec[i]) {
vec[j] = vec[j - 1];
j--;
if (j <= 0) {
break;
}
}
vec[j] = vec[i];
}
}
end = System.currentTimeMillis();
System.out.println("
插入法用時為:
" + (end - begin));
//
打印排序好的結果

for (int i = 0; i < vec.length; i++) {
System.out.println(vec[i]);
}

//快速排序法(Quick Sort)

Sort s = new Sort();
begin = System.currentTimeMillis();
for (int k = 0; k < 1000000; k++) {
s.quicksort(vec, 0, 5);
}
end = System.currentTimeMillis();
System.out.println("
快速法用時為:" + (end - begin));
//
打印排序好的結果

for (int i = 0; i < vec.length; i++) {
System.out.println(vec[i]);
}
}

}以下是運行結果:選擇法用時為:23456
47
37
23
19
-5
冒泡法用時為:17256
47
37
23
19
-5
插入法用時為:7856
47
37
23
19
-5
快速法用時為:29756
47
37
23
19
-5

[@more@]

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

柘城县| 许昌县| 鄂托克旗| 额济纳旗| 陈巴尔虎旗| 盐山县| 台东县| 乐至县| 蓬莱市| 将乐县| 疏勒县| 滕州市| 大埔区| 海口市| 隆子县| 北海市| 彭水| 界首市| 揭西县| 左贡县| 桓仁| 井陉县| 杨浦区| 徐州市| 嘉荫县| 石家庄市| 大庆市| 武定县| 红安县| 会同县| 龙江县| 彝良县| 光泽县| 拉孜县| 辽宁省| 志丹县| 太和县| 花垣县| 清水县| 乌兰浩特市| 南雄市|