这就是我定义我的节点:单链表插入。
struct node
{
char familyName[1023];
char firstName[1023];
char position;
int value;
struct node *next; // points to the next node in list
} Node;
我需要插入功能,将检查重复的姓氏和公正基础上添加姓氏的球员(无论是名字)。另外,我必须根据他们的位置对球员进行排序,所以所有的守门员将是首先,然后是守军。
这就是我已经开始的,但我似乎被卡住,不确定该怎么做。请帮忙。
struct Node* insert (struct Node *head)
{
struct Node *temp;
if (head == NULL)
{
head=(struct Node *)malloc(sizeof(struct Node));
if(head==NULL)
{
printf("Error! memory is not available\n");
exit(0);
}
}
printf(" family name: ");
safegets(head->familyName, MAX_LENGTH+1);
printf(" first name: ");
safegets(head->firstName, MAX_LENGTH+1);
printf(" position: ");
scanf("%c", &(head->position));
getchar();
printf(" value: ");
scanf("%d", &(head->value));
getchar();
}
不过,我觉得我没有做正确,应该有其他节点,将存储的姓在前名的地位和价值,然后比较,然后把它添加到头部。请帮忙。
作业?如果是这样,请使用标签。 – Matthias 2012-03-10 06:39:25
您提到的功能只有代码才能从用户那里获得输入。你似乎没有在这里检查重复用户的代码。请显示该代码,这将有助于回答您的问题。 – Gangadhar 2012-03-10 06:39:44