正在加载图片...
void Easy Sort( SQLISt& Lint low, int high)对长度小于3的子序列进行比较排序 if(high-low=1)∥序列只含两个元素 if(L r[low).key>L r[high). key)L. rllowK->L r[high] else∥子序列含有三个元素 if(L rlow]. key>L rlow+1]. key)L r[low]<->L r[low+1 if(L rlow+1].key>L r[high).key)L r[low+1]->L r[high]; if(L r[low).key>L r[low+1].key)L. rllowK->L r[low+1] i //Easy sort 1031 void divide(inta[ 1, int n)/把数组a中所有值为负的记录调到非负的记录之前 low=0; high=n-1; while(low<high) while(low<high&& a high}>=0)hgh-;/以0作为虚拟的枢轴记录 allow]->ahigh] while(low<high&&a low)low++ alow]-> high i/Divide typedef enum{RED, WHITE BLUE} color,∥三种颜色 void Flag Arrange(color al]ntn把由三种颜色组成的序列重排为按照红,白,蓝 的顺序排列 F0 j F =0; k=n-1; switch(aD case red aiK<->ajI: break case WhItevoid Easy_Sort(SQList &L,int low,int high)//对长度小于 3 的子序列进行比较排序 { if(high-low==1) //子序列只含两个元素 if(L.r[low].key>L.r[high].key) L.r[low]<->L.r[high]; else //子序列含有三个元素 { if(L.r[low].key>L.r[low+1].key) L.r[low]<->L.r[low+1]; if(L.r[low+1].key>L.r[high].key) L.r[low+1]<->L.r[high]; if(L.r[low].key>L.r[low+1].key) L.r[low]<->L.r[low+1]; } }//Easy_Sort 10.31 void Divide(int a[ ],int n)//把数组 a 中所有值为负的记录调到非负的记录之前 { low=0;high=n-1; while(low<high) { while(low<high&&a[high]>=0) high--; //以 0 作为虚拟的枢轴记录 a[low]<->a[high]; while(low<high&&a[low]<0) low++; a[low]<->a[high]; } }//Divide 10.32 typedef enum {RED,WHITE,BLUE} color; //三种颜色 void Flag_Arrange(color a[ ],int n)//把由三种颜色组成的序列重排为按照红,白,蓝 的顺序排列 { i=0;j=0;k=n-1; while(j<=k) switch(a[j]) { case RED: a[i]<->a[j]; i++; j++; break; case WHITE: j++; break;
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有