這就是我定義我的節點:單鏈表插入。
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