#include
typedef struct
{
int num;
int next;
}slcell;
//静态链表的结点类型
#define M 11
int f[M];
int e[M];
int head=0;
void distribute(slcell *a,int w)
{
int i;
int last;
for(i=0;
i<10;
i++)
f[i]=-1;
for(i=head;
i!=-1;
i=a[i].next)
{
last=(a[i].num/w)%10;
if(f[last]==-1)
f[last]=i;
else
a[e[last]].next=i;
e[last]=i;
}}//某一次排序
void collect(slcell *a)
{
int i;
int l = -1;
for (i=0;
i<10;
i++)
if (f[i] != -1)
{
if (l == -1)
head = f[i];
else
a[l].next = f[i];
l = e[i];
}
a[l].next = -1;
}//将排序好的数组恢复成静态链表
void Output(slcell *a, int head)
{
while (head != -1) {
printf("%4d", a[head].num);
head = a[head].next;
}
printf("n");
}//输出静态链表中的值
void main()
{
int i,max,k=1;
slcell a[M];
printf("请依次输入%d个整数n",M);
printf("请输入第1个数:");
scanf("%d",&a[0].num);
a[0].next=1;
max=a[0].num;
for(i=1;
i
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 笔记|C语言数据结构——二叉树的顺序存储和二叉树的遍历
- C语言学习(bit)|16.C语言进阶——深度剖析数据在内存中的存储
- 数据结构和算法|LeetCode 的正确使用方式
- 先序遍历 中序遍历 后序遍历 层序遍历
- 数据结构|C++技巧(用class类实现链表)
- 数据结构|贪吃蛇代码--c语言版 visual c++6.0打开
- 算法|算法-二分查找
- 数据结构学习指导|数据结构初阶(线性表)
- leetcode题解|leetcode#106. 从中序与后序遍历序列构造二叉树
- java|ObjectOrientedProgramming - 面向对象的编程(多态、抽象类、接口)- Java - 细节狂魔