我想写一个程序,打印链表的重复项。列表定义如下:
typedef struct node
{
char *name;
char *num[10];
struct node* next;
}node;
我想根据存储电话号码字符串的num数组对它们进行比较。我的问题是,每个节点可能不一定有相同数量的电话号码,有些节点可能有一个,有些节点有10个。有人能给我一个提示吗?如果任何节点都有一个共同的数字,我会怎么找到?
这里有一个简单的方法:
- 定义
struct { char* name; char* num; };
- CCD_ 2是具有这些结构的CCD_ 3的容量的阵列
- 遍历链表,将每个带有关联名称的电话号码复制到数组中。您需要定义10个电话号码槽中的一些为空意味着什么(例如,可能未使用的电话号码为空(
- 根据电话号码字符串内容对数组进行排序(使用
qsort()
和strcmp()
( - 遍历数组,在每一步记住您看到的最后一个电话号码,并打印与前一个条目匹配的任何号码