不就是二十六个数字排序么... 数组版貌似不错...
c语言吧
全部回复
仅看楼主
level 13
寒云似雾 楼主
1L喂熊
2013年10月15日 02点10分 1
level 13
寒云似雾 楼主
void sort_0(int *a){
}
void sort_1(int *a){
  int k=0,t;
  if(k==0){t=a[0];a[0]=a[0];a[0]=t;sort_0(a);sort_0(a+1);}
}
void sort_2(int *a){
  int k=0,t;
  if(a[1]<a[0]){++k;t=a[k];a[k]=a[1];a[1]=t;}
  if(k==0){t=a[0];a[0]=a[0];a[0]=t;sort_0(a);sort_1(a+1);}
  if(k==1){t=a[1];a[1]=a[0];a[0]=t;sort_1(a);sort_0(a+2);}
}
void sort_3(int *a){
  int k=0,t;
  if(a[1]<a[0]){++k;t=a[k];a[k]=a[1];a[1]=t;}
  if(a[2]<a[0]){++k;t=a[k];a[k]=a[2];a[2]=t;}
  if(k==0){t=a[0];a[0]=a[0];a[0]=t;sort_0(a);sort_2(a+1);}
  if(k==1){t=a[1];a[1]=a[0];a[0]=t;sort_1(a);sort_1(a+2);}
  if(k==2){t=a[2];a[2]=a[0];a[0]=t;sort_2(a);sort_0(a
+3
);}
}
void sort_4(int *a){
  int k=0,t;
  if(a[1]<a[0]){++k;t=a[k];a[k]=a[1];a[1]=t;}
  if(a[2]<a[0]){++k;t=a[k];a[k]=a[2];a[2]=t;}
  if(a[3]<a[0]){++k;t=a[k];a[k]=a[3];a[3]=t;}
  if(k==0){t=a[0];a[0]=a[0];a[0]=t;sort_0(a);sort_3(a+1);}
  if(k==1){t=a[1];a[1]=a[0];a[0]=t;sort_1(a);sort_2(a+2);}
  if(k==2){t=a[2];a[2]=a[0];a[0]=t;sort_2(a);sort_1(a+3);}
  if(k==3){t=a[3];a[3]=a[0];a[0]=t;sort_3(a);sort_0(a+4);}
}
void sort_5(int *a){
  int k=0,t;
  if(a[1]<a[0]){++k;t=a[k];a[k]=a[1];a[1]=t;}
  if(a[2]<a[0]){++k;t=a[k];a[k]=a[2];a[2]=t;}
  if(a[3]<a[0]){++k;t=a[k];a[k]=a[3];a[3]=t;}
  if(a[4]<a[0]){++k;t=a[k];a[k]=a[4];a[4]=t;}
  if(k==0){t=a[0];a[0]=a[0];a[0]=t;sort_0(a);sort_4(a+1);}
  if(k==1){t=a[1];a[1]=a[0];a[0]=t;sort_1(a);sort_3(a+2);}
  if(k==2){t=a[2];a[2]=a[0];a[0]=t;sort_2(a);sort_2(a+3);}
  if(k==3){t=a[3];a[3]=a[0];a[0]=t;sort_3(a);sort_1(a+4);}
  if(k==4){t=a[4];a[4]=a[0];a[0]=t;sort_4(a);sort_0(a+5);}
}
void sort_6(int *a){
  int k=0,t;
  if(a[1]<a[0]){++k;t=a[k];a[k]=a[1];a[1]=t;}
  if(a[2]<a[0]){++k;t=a[k];a[k]=a[2];a[2]=t;}
  if(a[3]<a[0]){++k;t=a[k];a[k]=a[3];a[3]=t;}
  if(a[4]<a[0]){++k;t=a[k];a[k]=a[4];a[4]=t;}
  if(a[5]<a[0]){++k;t=a[k];a[k]=a[5];a[5]=t;}
  if(k==0){t=a[0];a[0]=a[0];a[0]=t;sort_0(a);sort_5(a+1);}
  if(k==1){t=a[1];a[1]=a[0];a[0]=t;sort_1(a);sort_4(a+2);}
  if(k==2){t=a[2];a[2]=a[0];a[0]=t;sort_2(a);sort_3(a+3);}
  if(k==3){t=a[3];a[3]=a[0];a[0]=t;sort_3(a);sort_2(a+4);}
  if(k==4){t=a[4];a[4]=a[0];a[0]=t;sort_4(a);sort_1(a+5);}
  if(k==5){t=a[5];a[5]=a[0];a[0]=t;sort_5(a);sort_0(a+6);}
}
void sort_7(int *a){
  int k=0,t;
  if(a[1]<a[0]){++k;t=a[k];a[k]=a[1];a[1]=t;}
  if(a[2]<a[0]){++k;t=a[k];a[k]=a[2];a[2]=t;}
  if(a[3]<a[0]){++k;t=a[k];a[k]=a[3];a[3]=t;}
  if(a[4]<a[0]){++k;t=a[k];a[k]=a[4];a[4]=t;}
  if(a[5]<a[0]){++k;t=a[k];a[k]=a[5];a[5]=t;}
  if(a[6]<a[0]){++k;t=a[k];a[k]=a[6];a[6]=t;}
  if(k==0){t=a[0];a[0]=a[0];a[0]=t;sort_0(a);sort_6(a+1);}
  if(k==1){t=a[1];a[1]=a[0];a[0]=t;sort_1(a);sort_5(a+2);}
  if(k==2){t=a[2];a[2]=a[0];a[0]=t;sort_2(a);sort_4(a+3);}
  if(k==3){t=a[3];a[3]=a[0];a[0]=t;sort_3(a);sort_3(a+4);}
  if(k==4){t=a[4];a[4]=a[0];a[0]=t;sort_4(a);sort_2(a+5);}
  if(k==5){t=a[5];a[5]=a[0];a[0]=t;sort_5(a);sort_1(a+6);}
  if(k==6){t=a[6];a[6]=a[0];a[0]=t;sort_6(a);sort_0(a+7);}
}
void sort_8(int *a){
  int k=0,t;
  if(a[1]<a[0]){++k;t=a[k];a[k]=a[1];a[1]=t;}
  if(a[2]<a[0]){++k;t=a[k];a[k]=a[2];a[2]=t;}
  if(a[3]<a[0]){++k;t=a[k];a[k]=a[3];a[3]=t;}
  if(a[4]<a[0]){++k;t=a[k];a[k]=a[4];a[4]=t;}
  if(a[5]<a[0]){++k;t=a[k];a[k]=a[5];a[5]=t;}
  if(a[6]<a[0]){++k;t=a[k];a[k]=a[6];a[6]=t;}
  if(a[7]<a[0]){++k;t=a[k];a[k]=a[7];a[7]=t;}
  if(k==0){t=a[0];a[0]=a[0];a[0]=t;sort_0(a);sort_7(a+1);}
  if(k==1){t=a[1];a[1]=a[0];a[0]=t;sort_1(a);sort_6(a+2);}
  if(k==2){t=a[2];a[2]=a[0];a[0]=t;sort_2(a);sort_5(a+3);}
  if(k==3){t=a[3];a[3]=a[0];a[0]=t;sort_3(a);sort_4(a+4);}
  if(k==4){t=a[4];a[4]=a[0];a[0]=t;sort_4(a);sort_3(a+5);}
  if(k==5){t=a[5];a[5]=a[0];a[0]=t;sort_5(a);sort_2(a+6);}
  if(k==6){t=a[6];a[6]=a[0];a[0]=t;sort_6(a);sort_1(a+7);}
  if(k==7){t=a[7];a[7]=a[0];a[0]=t;sort_7(a);sort_0(a+8);}
}
void sort_9(int *a){
  int k=0,t;
  if(a[1]<a[0]){++k;t=a[k];a[k]=a[1];a[1]=t;}
  if(a[2]<a[0]){++k;t=a[k];a[k]=a[2];a[2]=t;}
  if(a[3]<a[0]){++k;t=a[k];a[k]=a[3];a[3]=t;}
  if(a[4]<a[0]){++k;t=a[k];a[k]=a[4];a[4]=t;}
  if(a[5]<a[0]){++k;t=a[k];a[k]=a[5];a[5]=t;}
  if(a[6]<a[0]){++k;t=a[k];a[k]=a[6];a[6]=t;}
  if(a[7]<a[0]){++k;t=a[k];a[k]=a[7];a[7]=t;}
  if(a[8]<a[0]){++k;t=a[k];a[k]=a[8];a[8]=t;}
  if(k==0){t=a[0];a[0]=a[0];a[0]=t;sort_0(a);sort_8(a+1);}
  if(k==1){t=a[1];a[1]=a[0];a[0]=t;sort_1(a);sort_7(a+2);}
  if(k==2){t=a[2];a[2]=a[0];a[0]=t;sort_2(a);sort_6(a+3);}
  if(k==3){t=a[3];a[3]=a[0];a[0]=t;sort_3(a);sort_5(a+4);}
  if(k==4){t=a[4];a[4]=a[0];a[0]=t;sort_4(a);sort_4(a+5);}
  if(k==5){t=a[5];a[5]=a[0];a[0]=t;sort_5(a);sort_3(a+6);}
  if(k==6){t=a[6];a[6]=a[0];a[0]=t;sort_6(a);sort_2(a+7);}
  if(k==7){t=a[7];a[7]=a[0];a[0]=t;sort_7(a);sort_1(a+8);}
  if(k==8){t=a[8];a[8]=a[0];a[0]=t;sort_8(a);sort_0(a+9);}
}
void sort_10(int *a){
  int k=0,t;
  if(a[1]<a[0]){++k;t=a[k];a[k]=a[1];a[1]=t;}
  if(a[2]<a[0]){++k;t=a[k];a[k]=a[2];a[2]=t;}
  if(a[3]<a[0]){++k;t=a[k];a[k]=a[3];a[3]=t;}
  if(a[4]<a[0]){++k;t=a[k];a[k]=a[4];a[4]=t;}
  if(a[5]<a[0]){++k;t=a[k];a[k]=a[5];a[5]=t;}
  if(a[6]<a[0]){++k;t=a[k];a[k]=a[6];a[6]=t;}
  if(a[7]<a[0]){++k;t=a[k];a[k]=a[7];a[7]=t;}
  if(a[8]<a[0]){++k;t=a[k];a[k]=a[8];a[8]=t;}
  if(a[9]<a[0]){++k;t=a[k];a[k]=a[9];a[9]=t;}
  if(k==0){t=a[0];a[0]=a[0];a[0]=t;sort_0(a);sort_9(a+1);}
  if(k==1){t=a[1];a[1]=a[0];a[0]=t;sort_1(a);sort_8(a+2);}
  if(k==2){t=a[2];a[2]=a[0];a[0]=t;sort_2(a);sort_7(a+3);}
  if(k==3){t=a[3];a[3]=a[0];a[0]=t;sort_3(a);sort_6(a+4);}
  if(k==4){t=a[4];a[4]=a[0];a[0]=t;sort_4(a);sort_5(a+5);}
  if(k==5){t=a[5];a[5]=a[0];a[0]=t;sort_5(a);sort_4(a+6);}
  if(k==6){t=a[6];a[6]=a[0];a[0]=t;sort_6(a);sort_3(a+7);}
  if(k==7){t=a[7];a[7]=a[0];a[0]=t;sort_7(a);sort_2(a+8);}
  if(k==8){t=a[8];a[8]=a[0];a[0]=t;sort_8(a);sort_1(a+9);}
  if(k==9){t=a[9];a[9]=a[0];a[0]=t;sort_9(a);sort_0(a+10);}
}
void sort_11(int *a){
  int k=0,t;
  if(a[1]<a[0]){++k;t=a[k];a[k]=a[1];a[1]=t;}
  if(a[2]<a[0]){++k;t=a[k];a[k]=a[2];a[2]=t;}
  if(a[3]<a[0]){++k;t=a[k];a[k]=a[3];a[3]=t;}
  if(a[4]<a[0]){++k;t=a[k];a[k]=a[4];a[4]=t;}
  if(a[5]<a[0]){++k;t=a[k];a[k]=a[5];a[5]=t;}
  if(a[6]<a[0]){++k;t=a[k];a[k]=a[6];a[6]=t;}
  if(a[7]<a[0]){++k;t=a[k];a[k]=a[7];a[7]=t;}
  if(a[8]<a[0]){++k;t=a[k];a[k]=a[8];a[8]=t;}
  if(a[9]<a[0]){++k;t=a[k];a[k]=a[9];a[9]=t;}
  if(a[10]<a[0]){++k;t=a[k];a[k]=a[10];a[10]=t;}
  if(k==0){t=a[0];a[0]=a[0];a[0]=t;sort_0(a);sort_10(a+1);}
  if(k==1){t=a[1];a[1]=a[0];a[0]=t;sort_1(a);sort_9(a+2);}
  if(k==2){t=a[2];a[2]=a[0];a[0]=t;sort_2(a);sort_8(a+3);}
  if(k==3){t=a[3];a[3]=a[0];a[0]=t;sort_3(a);sort_7(a+4);}
  if(k==4){t=a[4];a[4]=a[0];a[0]=t;sort_4(a);sort_6(a+5);}
  if(k==5){t=a[5];a[5]=a[0];a[0]=t;sort_5(a);sort_5(a+6);}
  if(k==6){t=a[6];a[6]=a[0];a[0]=t;sort_6(a);sort_4(a+7);}
  if(k==7){t=a[7];a[7]=a[0];a[0]=t;sort_7(a);sort_3(a+8);}
  if(k==8){t=a[8];a[8]=a[0];a[0]=t;sort_8(a);sort_2(a+9);}
  if(k==9){t=a[9];a[9]=a[0];a[0]=t;sort_9(a);sort_1(a+10);}
  if(k==10){t=a[10];a[10]=a[0];a[0]=t;sort_10(a);sort_0(a+11);}
}
void sort_12(int *a){
  int k=0,t;
  if(a[1]<a[0]){++k;t=a[k];a[k]=a[1];a[1]=t;}
  if(a[2]<a[0]){++k;t=a[k];a[k]=a[2];a[2]=t;}
  if(a[3]<a[0]){++k;t=a[k];a[k]=a[3];a[3]=t;}
  if(a[4]<a[0]){++k;t=a[k];a[k]=a[4];a[4]=t;}
  if(a[5]<a[0]){++k;t=a[k];a[k]=a[5];a[5]=t;}
  if(a[6]<a[0]){++k;t=a[k];a[k]=a[6];a[6]=t;}
  if(a[7]<a[0]){++k;t=a[k];a[k]=a[7];a[7]=t;}
  if(a[8]<a[0]){++k;t=a[k];a[k]=a[8];a[8]=t;}
  if(a[9]<a[0]){++k;t=a[k];a[k]=a[9];a[9]=t;}
  if(a[10]<a[0]){++k;t=a[k];a[k]=a[10];a[10]=t;}
  if(a[11]<a[0]){++k;t=a[k];a[k]=a[11];a[11]=t;}
  if(k==0){t=a[0];a[0]=a[0];a[0]=t;sort_0(a);sort_11(a+1);}
  if(k==1){t=a[1];a[1]=a[0];a[0]=t;sort_1(a);sort_10(a+2);}
  if(k==2){t=a[2];a[2]=a[0];a[0]=t;sort_2(a);sort_9(a+3);}
  if(k==3){t=a[3];a[3]=a[0];a[0]=t;sort_3(a);sort_8(a+4);}
  if(k==4){t=a[4];a[4]=a[0];a[0]=t;sort_4(a);sort_7(a+5);}
  if(k==5){t=a[5];a[5]=a[0];a[0]=t;sort_5(a);sort_6(a+6);}
  if(k==6){t=a[6];a[6]=a[0];a[0]=t;sort_6(a);sort_5(a+7);}
  if(k==7){t=a[7];a[7]=a[0];a[0]=t;sort_7(a);sort_4(a+8);}
  if(k==8){t=a[8];a[8]=a[0];a[0]=t;sort_8(a);sort_3(a+9);}
  if(k==9){t=a[9];a[9]=a[0];a[0]=t;sort_9(a);sort_2(a+10);}
  if(k==10){t=a[10];a[10]=a[0];a[0]=t;sort_10(a);sort_1(a+11);}
  if(k==11){t=a[11];a[11]=a[0];a[0]=t;sort_11(a);sort_0(a+12);}
}
2013年10月15日 02点10分 2
level 12
又是一个没节操的帖子,
2013年10月15日 02点10分 3
level 13
寒云似雾 楼主
度娘表示太长了
要的同学们自己去找吧
codepad [点] org [斜线] oo9RX57X
2013年10月15日 02点10分 4
level 10
卖萌是一种病, 这得治...
2013年10月15日 02点10分 5
level 13
喂,我那是堆排序啊
2013年10月15日 02点10分 6
数组版就是让你能很方便的手写了,用26字母版就限制了让你无法直接手写
2013年10月15日 02点10分
好吧,你竟然做快排,虽然数组是能简化一点
2013年10月15日 02点10分
预测一下下一个会是什么呢? radix / in-place-merge / intro / tim / stooge / bogo
2013年10月15日 02点10分
回复 寒云似雾 :进入递归 看几行就看不下去了[血肉栈溢出][乖] 怎么分析出是快排的
2013年10月15日 03点10分
level 12
已经有小盆友触雷了 还来!
2013年10月15日 02点10分 7
level 6
被雷到了!
2013年10月15日 02点10分 8
level 13
补充,AT楼主,如果直接发在一楼,帖子可以很长很长
2013年10月15日 04点10分 9
照样不够... 否则我就做更喜感的26字母版了...
2013年10月15日 04点10分
1