我有这个结构:
typedef struct data student, *pstudent;
struct data{
char name[50];
int value;
pstudent next;
};
我需要一个函数来在未排序的链表中找到最常见的学生。例如:“John - value 3” “David - value 2” “Andrew - value 4” “John - Value 9” 在这种情况下,函数将返回“John”,因为他出现了两次。
到目前为止的代码:
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;
}
}
我怎样才能使这项工作?谢谢您的帮助。