登 录
5个数6次比较找中位数
int compare6(int a,int b,int c,int d,int e){ if(a<b)swap(a,b); if(c<d)swap(c,d); if(a<c){swap(a,c);swap(b,d);} if(b<e)swap(b,e); if(b<c){swap(b,c);swap(d,e);} if(e<c) return c; else return e; }
7次比较排序
void sort(int& a,int& b,int& c,int& d,int& e){ if(a<b)swap(a,b); if(c<d)swap(c,d); if(a<c){swap(a,c);swap(b,d);} if(c<e){ if(a<e){ if(b<c){ if(b<d)swap(b,d); // printf("%d %d %d %d %d/n",d,b,c,a,e); swap(a,d); return; } else{ // printf("%d %d %d %d %d/n",d,c,b,a,e); swap(a,d); swap(b,c); return; } } else{ swap(c,e); swap(d,e); } } else{ if(d<e)swap(d,e); } if(b<d){ if(b<e)swap(b,e); // printf("%d %d %d %d %d/n",e,b,d,c,a); swap(a,e); swap(c,d); } else{ if(b<c)swap(b,c); // printf("%d %d %d %d %d/n",e,d,c,b,a); swap(a,e); swap(b,d); } }
抱歉!评论已关闭.