首页 > 编程知识 正文

非递归快速排序算法,二维数组a按行优先顺序存储

时间:2023-05-04 04:42:51 阅读:63532 作者:2111

基于c语言数组的下位优先法分配排序(LSD )代码如下。

# include stdio.h # include math.h # definen 10000 void LSD (ints [ ],int n,int digits_max ) /按自定义下位优先级法分配排序函数,s为数组idigits_max; I ) { int j,k,t,l; for(j=1; jn; j ) )/)每一位直接插入排序for(k=j-1; k=0; k--}{if(s[j]/) int (pow ) 10,I ) }=) s[k]/(int ) pow (10,I ) ) /按位进行比较break; (if ) j!=k 1 ) { t=s[j]; for(L=J-1; l=k 1; L--}{S[L1]=S[L]; } s[k 1]=t; } } }}int main () { int s[N]; int n,I,digits_max; 请输入printf ('数组的长度。 n ); scanf('%d ',n ); //扫描数组的长度请输入printf ('以及等待数组。 n ); for(I=0; in; I ) scanf('%d ',s[i]; //数组扫描printf ('请输入数组元素的最大位数。 n ); scanf('%d ',digits_max ); //扫描数组元素的最大位数LSD(s,n,digits_max ); //用自定义的下级优先方法对数组分配排序函数进行排序的printf ()排序结果如下。 n ); for(I=0; in; I ) printf('%d ',s[i]; //输出排序结果return 0

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。