>next; } } int main() { //初始化头节点以及尾部节点 struct stu *head; struct stu *tail; head->num=0; head->age=0; struct stu *thead,*pbefore,*pafter; int i; for(i=0;i
num,&pafter->age); if(i==0) pbefore=thead=pafter; else pbefore->next=pafter; pafter->next=NULL; pbefore=pafter; } tail=pafter; printf(" tail:%ld",(long)tail); head->next=thead; query(head); int number; printf("you want to delete:"); scanf("%d",&number); delete(head,tail,number); query(head); tail=add(tail); query(head); tail=add(tail); query(head); return 0; }
这里我们需要定义尾部节点,并且增加后要对尾部节点进行更新,方便再次在链表后面插入节点,注意:不要忘了给新的节点分配内存,否则会报段错误,因为你给并没有分配内存的结构体赋值了。 new=(TYPE*) malloc(LEN); 另外不要忘了给新的尾部节点的指针域设置为NULL。 new->next=NULL; 以上是增加了两个节点的例子,运行结果如下 可以看到,增加的节点已经显示出来了。
|