排序算法
红豆和绿豆
这个作者很懒,什么都没留下…
展开
-
计数排序
public class CountSort {/*** @param args* O(n)*/public static void main(String[] args) {//排序的数组 int a[]={100,93,97,92,96,99,92,89,93,97,90,94,92,95}; int b[]=countSor原创 2015-10-06 11:00:21 · 334 阅读 · 0 评论 -
堆排序
/* * * n*log(n) * 不稳定的排序 * */public class HeapSort { private static int[] sort=new int[]{1,0,10,20,3,5,6,4,9,8,12,17,34,11}; public static void main(String[] args){buildMaxHe原创 2015-10-06 10:58:10 · 299 阅读 · 0 评论 -
希尔排序
public class Shell_sort {public static void print(int a[]){for(int i=0;iSystem.out.print(a[i]+"\t");}System.out.println();}public static void shell_sort(int[] a){int n=a.len原创 2015-10-03 20:06:09 · 343 阅读 · 0 评论 -
插入排序
public class Insertion_Sort {/*** @param args* *插入排序*自己实现*最坏的运行时间是N^2*yy*/public static void insert_sort(int a[]){for(int j=1;jint key=a[j];int i=j-1;while(i>=0&&a原创 2015-09-30 19:08:31 · 449 阅读 · 0 评论 -
快速排序
public class Quick_sort {/*** @param args* yy* n*logn*/public static void print(int a[]){for(int i=0;iSystem.out.print(a[i]+"\t");}System.out.println();}public static原创 2015-09-29 16:46:14 · 403 阅读 · 0 评论 -
折半插入
public class Binary_insertion_sort {/** * 折半插入排序,关键字的比较次数由于采用了折半查找而减少,数量级为O (nlog 2 n) ,* 但是元素移动次数仍为O (n2 ) 。* 故折半插入排序时间复杂度仍为O (n2 ) 。折半插入排序方法是稳定的。* */public static void print(int a[]){原创 2015-10-06 10:57:17 · 489 阅读 · 0 评论 -
归并排序
import java.math.*;public class Merge_sort {/** 归并排序的* 最坏运行时间是n*logn 当n趋近与无穷的时候,归并排序的速度远远高于插入排序* 原因是归并排序是一种稳定的排序 方式,即归并排序不交换相同的元素,这就意味着,在按一种方式排序后同时可以按另外一种原创 2015-10-06 10:56:29 · 315 阅读 · 0 评论 -
桶排序java版本
public class Bucket_sort {/*** O(n)* 适合均匀分布的小数0.1-0.9之间的小数*/public static void blubble_sort(float[] a){for(int i=0;ifor(int j=0;jif(a[j]>a[j+1]){float temp=a[j];a[j]=a[j+1];原创 2015-10-03 20:05:30 · 437 阅读 · 0 评论 -
冒泡排序
public class Bubble_sort {/** 时间复杂度为n^2* *//** 交换数组的二个元素* */public static void swap(int a[],int first,int second ){int temp=a[first];a[first]=a[second];a[second]=temp;}pu原创 2015-09-29 16:45:21 · 445 阅读 · 0 评论