c语言链表的操作

发布网友 发布时间:2022-04-22 08:22

我来回答

1个回答

热心网友 时间:2022-06-18 13:03

int CreateLink_L(LinkList &L,int n){
// 创建含有n个元素的单链表
LinkList p,q;
int i;
ElemType e;
L = (LinkList)malloc(sizeof(LNode));
L->next = NULL;              // 先建立一个带头结点的单链表
q = (LinkList)malloc(sizeof(LNode));
q = L;
for (i=0; i<n; i++) {
scanf("%d", &e);
p = (LinkList)malloc(sizeof(LNode));
p->data=e;  // 生成新结点
/* my change begins------------------------ */
p->next = NULL;
while(q->next)
{
q = q->next;
}
q->next = p;
/* my change ends-------------------------- */
// 请补全代码

}
return OK;
}

你在插入新节点的时候是插入链表头的,输出时有时顺序输出,所以是相反的


现在帮你改成插入链表尾了,输出就该就是你要的了


小哥请一试

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com