我有这样的结构:找到最常见的元素链表
typedef struct data student, *pstudent;
struct data{
char name[50];
int value;
pstudent next;
};
而且我需要找到一个无序链表最频繁的学生的功能。 例如: “约翰 - 值3” “大卫 - 值2” “安德鲁 - 值4” “约翰 - 值9” 在这种情况下,该函数将返回“约翰”,因为他出现了两次。
到目前为止的代码:
void count(pstudent p)
{
pstudent ptr1, ptr2;
ptr1 = p;
while(ptr1 != NULL && ptr1->next!=NULL)
{
ptr2 = ptr1;
while(ptr2->next != NULL)
{
if(strcmp(ptr1->name,ptr2->next->name)==0)
{
printf("Found %s, %s", ptr1->name,ptr2->name);
}
}
ptr1 = ptr1->next;
}
}
我怎样才能使这项工作? 感谢您的帮助。
应该做些什么count()函数? – Alex
按名称计算列表中的重复项并返回最常见的重复项。 –
函数'count'被认为是链表被排序。还返回类型'无效' – BLUEPIXY