|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- 为什么这个从后面插入结点的程序不对,指点指点
- # include <stdio.h>
- # include <malloc.h>
- struct Node
- {
- int data;
- struct Node * pNext;
- };
- struct Node * create_list(void);
- void traverse_list(struct Node * pHead);
- void add_list1(struct Node * pHead);
- void add_list2(struct Node * pHead);
- int main(void)
- {
- struct Node * pHead = NULL;
- pHead = create_list();
- traverse_list(pHead);
- add_list2(pHead);
- traverse_list(pHead);
- return 0;
- }
- struct Node * create_list(void)
- {
- int number;
- int i;
- int len;
- struct Node * p, * end;
- struct Node * pHead = NULL;
-
- printf("需要创建几个结点:");
- scanf("%d", &len);
- printf("请输入:");
- scanf("%d", &number);
- p = (struct Node *)malloc(sizeof(struct Node));
- p->data = number;
- p->pNext = pHead;
- pHead = p;
- end = p;
- for (i=1; i<len; ++i)
- {
- scanf("%d", &number);
- p = (struct Node *)malloc(sizeof(struct Node));
- p->data = number;
- p->pNext = NULL;
- end->pNext = p;
- end = p;
- }
- return pHead;
- }
- void traverse_list(struct Node * pHead)
- {
- struct Node * p = pHead;
- while (p != NULL)
- {
- printf("%5d", p->data);
- p = p->pNext;
- }
- printf("\n");
- return;
- }
- //从后面插入结点
- void add_list2(struct Node * pHead)
- {
- int val;
- struct Node * p1;
- struct Node * node;
-
- p1 = pHead;
- while (p1 != NULL)
- {
- p1 = p1->pNext;
- }
- printf("请输入添加的数据:");
- scanf("%d", &val);
- node->data = val;
- p1 = node;
- node->pNext = NULL;
-
- return;
- }
- 为什么这个从后面插入结点的程序不对,指点指点
复制代码
|
|