//算法8.12 基数排序 #include #include #include #include #define MAXNUM_KEY 8 //关键字项数的最大值 #define RADIX 10 //关键字基数,此时是十进制整数的基数 #define MAX_SPACE 10000 typedef char KeysType; //定义关键字类型为字符型 typedef int InfoType; //定义其它数据项的类型 typedef struct { KeysType keys[MAXNUM_KEY]; //关键字 InfoType otheritems; //其他数据项 int next; }SLCell; //静态链表的结点类型 typedef struct { SLCell r[MAX_SPACE]; //静态链表的可利用空间,r[0]为头结点 int keynum; //记录的当前关键字个数 int recnum; //静态链表的当前长度 }SLList; //静态链表类型 typedef int ArrType[RADIX]; //指针数组类型 void InitList(SLList *L) { //初始化静态链表L(把数组D中的数据存于L中) char c[MAXNUM_KEY],c1[MAXNUM_KEY]; int i,j,n,max; //max为关键字的最大值 max=-10000; cout<<"请输入数据个数,不超过"<>n; while(n>MAX_SPACE) { cout<<"您输入的个数超过上限,请重新输入,不超过"<>n; } int *D=new int[n]; cout<<"请输入"<>D[i]; if(max=0;j--) cout<