快速排序 歸併排序

2021-06-20 16:12:07 字數 1230 閱讀 9023

感覺好久之前不寫這些基礎的東西忽然覺著,想複習一下,就簡單溫習一下排序的例子

package com.ruishenh.algoritmic;

public class sort

static void printmsg(int arrs)

system.out.println();

}static int getrandomarrs(int num)

return ret;

};/**

* 氣泡排序

* @param arrs

*/static void bubblingsort(int arrs)

}} }

/*** 歸併排序

* @param arrs

*/static void mergersort(int arrs)

static void mergersort_merge(int a,int first,int mid,int last, int temp)

while (i <= m)

temp[k++] = a[i++];

while (j <= n)

temp[k++] = a[j++];

for (i = 0; i < k; i++)

a[first + i] = temp[i];

} } static void mergersort_split(int arrs,int first,int last, int temp) }

/*** 快速排序

* @param list

* @param low

* @param high

* @return

*/private static int quicksort(int list,int low ,int high)

list[low]=list[high]; //比key小的紀錄移到低端

while(low

列印結果

冒泡結果:679

----------------------

歸併結果:840

----------------------

快排結果:504

----------------------

冒泡的速度確實不敢說什麼了,哈哈 2萬多的資料就跑了679,而歸併500萬才跑了840,快排504

快速排序,歸併排序

快速排序 quicksort 是對 氣泡排序的一種改進。設要排序的 陣列是a 0 a n 1 首先任意選取乙個資料 通常選用陣列的第乙個數 作為關鍵資料,然後將所有比它小的數都放到它前面,所有比它大的數都放到它後面,這個過程稱為一趟快速排序。需要注意的是,多個相同的值的相對位置也許會在演算法結束時產...

歸併排序,快速排序

快速排序實現 filename fastsort description author hcq createtime 2019 04 12 10 01 public class fastsort arrays.stream arr foreach v system.out.println 排序後 s...

快速排序 歸併排序

1 快速排序 快速排序利用分治的思想,首先選取乙個哨兵,將陣列中大於哨兵的元素放到一邊,小於陣列的元素放到另一邊,然後對兩邊也進行相同的操作。public void quicksort list t private void quicksort list t,int l,int h 將大於哨兵的放到...