rsZheng4916 2021-11-30 21:42 采纳率: 60%

# 单链表建立和输出的问题，求解决

``````#include"stdio.h"
#include"stdlib.h"
#include"stdbool.h"

typedef int ElemType;
typedef struct LNode{
ElemType data;
struct LNode *next;

int i;
L->next = NULL;
for(i = 0;i < n;i++){
s->data = a[i];
s->next = L->next;
L->next = s;
}
}

int i;
r = L;
// 分配新结点并用尾插法链接
for(i = 0;i < n;i++){
s->data = a[i];
r->next = s;
r = s;
}
r->next = NULL;
}

L->next = NULL;
}

// pre指向L，即头结点；p指向头结点的下一个结点，即首元结点
LinkList *pre = L,*p = L->next;
// 类似放鞭炮，前面响完后面响
while (p != NULL){
free(pre);
pre = p;
p = p->next;
}
free(pre);
}

// TRUE：空 FALSE：非空
return(L->next == NULL);
}

int n = 0;

while(p->next != NULL){
n++;
p = p->next;
}
return (n);
}

while (p != NULL){
printf("%d ",p->data);
p = p->next;
}
printf("\n");
}

int j = 0;

while (j<i && p!=NULL){
j++;
p = p->next;
}
if(p == NULL){
return 0;
// return false;
}else{
e = p->data;
printf("Get %d's elem is:%d",i,e);
return e;
// return true;
}
}

int main(){
int a[] = {1,3,5,7,9};
CreateListH(L,a,3);
DisplayList(L);
}
``````

• 写回答

#### 1条回答默认 最新

• qzjhjxj 2021-11-30 22:58
关注

修改见注释，供参考：

``````#include"stdio.h"
#include"stdlib.h"
#include"stdbool.h"
typedef int ElemType;
typedef struct LNode{
ElemType data;
struct LNode *next;
int i;
(*L)->next = NULL;
for(i = 0;i < n;i++){
s->data = a[i];
s->next = (*L)->next;
(*L)->next = s;
}
}
int i;
r = (*L);
// 分配新结点并用尾插法链接
for(i = 0;i < n;i++){
s->data = a[i];
r->next = s;
r = s;
}
r->next = NULL;
}
(*L)->next = NULL;
}
// pre指向L，即头结点；p指向头结点的下一个结点，即首元结点
LinkList *pre = L,*p = L->next;
// 类似放鞭炮，前面响完后面响
while (p != NULL){
free(pre);
pre = p;
p = p->next;
}
free(pre);
}
// TRUE：空 FALSE：非空
return(L->next == NULL);
}
int n = 0;
while(p->next != NULL){
n++;
p = p->next;
}
return (n);
}
while (p != NULL){
printf("%d ",p->data);
p = p->next;
}
printf("\n");
}
int j = 0;
while (j<i && p!=NULL){
j++;
p = p->next;
}
if(p == NULL){
return 0;
// return false;
}else{
e = p->data;
printf("Get %d's elem is:%d",i,e);
return e;
// return true;
}
}
int main()
{
int a[] = {1,3,5,7,9};
CreateListH(&L,a,5); //CreateListH(L,a,3);
DisplayList(L);
printf("L-length:%d\n",ListLength(L));

CreateListR(&R,a,3);
DisplayList(R);
printf("R-length:%d\n",ListLength(R));
return 0;
}

``````
本回答被题主选为最佳回答 , 对您是否有帮助呢?
评论

• 系统已结题 12月10日
• 已采纳回答 12月2日
• 创建了问题 11月30日

#### 悬赏问题

• ¥20 springmvc重定向和返回json
• ¥15 数学建模——参会安排怎么做
• ¥15 电脑键盘实现触摸功能
• ¥25 matlab无法将表达式转换为双数组怎么解决?
• ¥15 单片机汇编语言相关程序
• ¥20 家用射频美容仪技术规格
• ¥15 大家帮我看看为什么错了
• ¥15 unity互动琴弦抖动效果
• ¥15 做了个的二极管反向饱和电流测量电路，但是测试达不到效果
• ¥15 nginx无证书访问https失败