前一陣子為了準備暑期實習筆試、面試,把維基上查到的常用的排序演算法全寫了一遍。基本是按照演算法導論和維基上面的思路寫的,有些演算法的細節可能和一些書上有出入,但是思想是一樣的。cpp檔案在最後,**如下:
#include#include#include#include#includeusing namespace std;
#define size 1000
#define min -65536
#define rm(x) (x>>1)
#define lm(x) (x<<1)
//二分查詢
int bi_search(int arr,int value,int start,int end)
if(start>end)
return -1;
else
for(i=0;iqueue[10];
for(i=0;i1;k--)
id/=10;
id%=10;
queue[id].push_back(arr[j]);
} for(j=0,k=0;j<10;j++)
} }};//選擇排序,不穩定
void select_sort(int arr,int size);
void heap_sort(int heap,int size)
};//希爾排序,插入排序的加強版
void insert(int arr,int size,int step)
};void partition(int arr,int end)
} arr[end]=arr[left+1];
arr[left+1]=pivot;
partition(arr,left);
partition(arr+left+2,end-left-2);
};void quick_sort(int arr,int size);
int main()
size=i-1;
//int result=bi_search(arr,value,0,size-1);
//printf("%d\n",result);
//buble_sort(arr,size);
//insert_sort(arr,size);
//merge_sort(arr,size);
//radix_sort(arr,size);
//select_sort(arr,size);
//bucket_sort(arr,size);
//heap_sort(arr,size);//從下標1開始
//shell_sort(arr,size);
//quick_sort(arr,size);
return 0;
}
java各種排序方法
package org.rut.util.algorithm.support import org.rut.util.algorithm.sortutil author treeroot since 2006 2 2 version 1.0 public class insertsort imple...
java各種排序方法
package org.rut.util.algorithm.support import org.rut.util.algorithm.sortutil author treeroot since 2006 2 2 version 1.0 public class insertsort imple...
C 各種排序方法
c c 實現直接插入排序 includeusing namespace std int main int k sizeof a sizeof a 0 int j for int i 1 i 0 a j temp j a j 1 temp 此處就是a j 1 temp for int f 0 f歸併排...