0
我没有任何问题在中间或LinkedList
的开头插入nodes
。但是,最后是不同的。当我尝试打印值,它给我的地址:在LinkList的末尾插入节点C
现在,这里是我如何建立LinkedList
:
employeeData ed[4];
node *head = NULL, *list = NULL;
for (int i = 0; i < 4; i++)
fscanf(file, "%d %s %d %d %lf", &ed[i].EMP_ID, ed[i].name, &ed[i].dept, &ed[i].rank, &ed[i].salary);
head = (node *)malloc(sizeof(node));
head->employee = ed[0];
head->next = NULL;
list = head;
for (int i = 1; i < 5; i++){
node *ptr = (node *)malloc(sizeof(node));
ptr->employee = ed[i];
ptr->next = NULL;
head->next = ptr;
head = head->next;
}
这是我如何将节点添加到它:
node *newNode = (node *)malloc(sizeof(node)), *temptr = list, *endNode = list;
newNode->employee.EMP_ID = id;
strcpy(newNode->employee.name, name);
newNode->employee.dept = dept;
newNode->employee.rank = rank;
newNode->employee.salary = salary;
newNode->next = NULL;
while (endNode->next != NULL) endNode = endNode->next;
if (id < temptr->employee.EMP_ID){
newNode->next = list;
list = newNode;
}
else if (id > endNode->employee.EMP_ID){
endNode->next = newNode;
}
else{
while ((temptr->next != NULL) && (temptr->next->employee.EMP_ID < newNode->employee.EMP_ID))
temptr = temptr->next;
newNode->next = temptr->next;
temptr->next = newNode;
}
当我尝试删除该值时,它会将其删除。但是,它不显示该值。
我在做什么错?
谢谢
'I <5','编[I]'..'ed [4]'不正确的数据。 – BLUEPIXY 2014-09-21 21:18:15
我不知道为什么。但是,当我选择4而不是5时,它不显示最后一个记录(20,BoyBlue ...)。但是,问题肯定存在 – 2014-09-21 21:20:13