各種排序方法

2021-09-06 09:38:45 字數 1405 閱讀 5279

前一陣子為了準備暑期實習筆試、面試,把維基上查到的常用的排序演算法全寫了一遍。基本是按照演算法導論和維基上面的思路寫的,有些演算法的細節可能和一些書上有出入,但是思想是一樣的。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歸併排...