【基础排序】鸟巢排序

来源:互联网 发布:mac vpn设置 编辑:程序博客网 时间:2024/05/01 08:55
//鸟巢排序#include <iostream>   using namespace std;   void pigen_hole_sort(int *array,int length);   int main()   {       int a[] = {4,6,1,8,9,2,3,5,7,0,1,10,19,12,16,14};       int n = sizeof(a)/sizeof(a[0]);       pigen_hole_sort(a,n);              for(int i=0; i!=n; i++)   {cout << a[i] << " ";   }      cout<<endl;     return -1;       }   void pigen_hole_sort(int *a, int length)   {       int max = a[0];for(int k=0; k!=length; k++){if(max<a[k]){max=a[k];}}int *b = new int[max+1];memset(b,0,sizeof(int)*(max+1));//int b[256] = {0};       for(int i=0; i!=length; i++)   {b[a[i]]++;   }int index=0;    for(int j=0; j!=max+1; j++)   {for(int k=0; k<b[j]; k++)   {a[index++] = j;   }}}   

原创粉丝点击