感覺好久之前不寫這些基礎的東西忽然覺著,想複習一下,就簡單溫習一下排序的例子
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 將大於哨兵的放到...