标题:单链表的输出怎么弄
只看楼主
average
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2020-10-28
结帖率:100%
已结贴  问题点数:10 回复次数:9 
单链表的输出怎么弄
#include <stdio.h>
#include <stdlib.h>

//结点类型定义
typedef struct Node
{
int data;//数据域
struct Node *next;//指针域
}Node,*LinkList; //LinkList与Node*同为结构指针类型
 
//主函数
int main()
{
void InitList(LinkList *L);
void CreateFromHead(LinkList L);
LinkList L; //头指针
//Node* p;//头结点
InitList(&L);
CreateFromHead(L);
}


//初始化
 void InitList(LinkList *L)//L为单链表的头指针
{
*L=(LinkList)malloc(sizeof(Node));//动态申请空间
(*L)->next=NULL;                                             
}


 int print(LinkList L)
 {
    Node *s;
     if (s->next!=NULL)
     {
printf(" ",);
     }
 
 return 0;
 }

//用头插法建立单链表
void CreateFromHead(LinkList L)
{
Node *s;
char c;
int flag=1;
while(flag)
{
c=getchar();
if(c!='$')
{
s=(Node*)malloc(sizeof(Node));
s->data=c;
s->next=L->next;
L->next=s;
}
else flag=0;
}
}
搜索更多相关主题的帖子: int Node 单链表 next 指针 
2020-11-18 21:27
do8do8do8
Rank: 10Rank: 10Rank: 10
来 自:沙滩
等 级:贵宾
威 望:17
帖 子:366
专家分:1845
注 册:2010-7-2
得分:3 
int print(LinkList L)
 {
    Node *s = L ;/***************************/
    while (s->next!=NULL)/************************/
     {
printf("%d\n",s->data);/************************/
      s = s->next;/******************************/
     }
 
 return 0;
 }

学C语言从底层开始,学编程从问题开始,一日学会C!!!
2020-11-18 22:00
average
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2020-10-28
得分:0 
#include <stdio.h>
#include <stdlib.h>

//结点类型定义
typedef struct Node
{
int data;//数据域
struct Node *next;//指针域
}Node,*LinkList; //LinkList与Node*同为结构指针类型
 
//主函数
int main()
{
int print(LinkList L);
void InitList(LinkList *L);
void CreateFromHead(LinkList L);
LinkList L; //头指针
//Node* p;//头结点
InitList(&L);
CreateFromHead(L);
print(&L);
}


//初始化
 void InitList(LinkList *L)//L为单链表的头指针
{
*L=(LinkList)malloc(sizeof(Node));//动态申请空间
(*L)->next=NULL;                                             
}


int print(LinkList L)
 {
    Node *s = L ;/***************************/
    while (s->next!=NULL)/************************/
     {
printf("%d\n",s->data);/************************/
      s = s->next;/******************************/
     }
 
 return 0;
 }

//用头插法建立单链表
void CreateFromHead(LinkList L)
{
Node *s;
char c;
int flag=1;
while(flag)
{
c=getchar();
if(c!='$')
{
s=(Node*)malloc(sizeof(Node));
s->data=c;
s->next=L->next;
L->next=s;
}
else flag=0;
}
}
2020-11-18 22:11
average
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2020-10-28
得分:0 
回复 2楼 do8do8do8
为什么还是没法输出,是不是我调用错了?
2020-11-18 22:11
纳多多大魔王
Rank: 1
等 级:新手上路
帖 子:1
专家分:3
注 册:2020-11-18
得分:3 
回复 4楼 average
2020-11-18 22:22
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2276
专家分:10647
注 册:2015-3-19
得分:3 
//初始化
 void InitList(LinkList *L)//L为单链表的头指针
{
*L=(LinkList)malloc(sizeof(Node));//动态申请空间
L->next=NULL;                                          
}

int print(LinkList L)
 {
    Node *s = L->next ;/***************************/
    while (s!=NULL)/************************/
     {
printf("%d\n",s->data);/************************/
      s = s->next;/******************************/
     }
 
 return 0;
 }


剑栈风樯各苦辛,别时冰雪到时春
2020-11-18 22:45
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2276
专家分:10647
注 册:2015-3-19
得分:0 
应该还有问题,没试过

剑栈风樯各苦辛,别时冰雪到时春
2020-11-18 22:50
average
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2020-10-28
得分:0 
回复 7楼 林月儿
好,我运行一下试试
2020-11-18 22:57
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2276
专家分:10647
注 册:2015-3-19
得分:0 
#include <stdio.h>
#include <stdlib.h>

//结点类型定义
typedef struct Node
{
int data;//数据域
struct Node *next;//指针域
}Node;
 
//主函数
int main()
{
int print(Node *L);
void InitList();
void CreateFromHead(Node*L);
Node* L=InitList();
CreateFromHead(L);
print(L);
}


//初始化
 Node* InitList()//L为单链表的头指针
{
Node *L=(Node*)malloc(sizeof(Node));//动态申请空间
L->next=NULL;
return L;                                       
}


int print(Node *L)
 {
    Node *s = L->next ;
    while (s!=NULL)
     {
printf("%d\n",s->data);
      s = s->next;/********************/
     }
 return 0;
 }

//用头插法建立单链表
void CreateFromHead(Node *L)
{
Node *s;
char c;
int flag=1;
while(flag)
{
c=getchar();
if(c!='$')
{
s=(Node*)malloc(sizeof(Node));
s->data=c;
s->next=L->next;
L->next=s;
}
else flag=0;
}
}

我改了下,嗯,注意三点。
数据类型,指针的箭头指向访问,和结构体对象访问要小心一点,尽量不要交替出现
传参分值传递和引用传递,你这边可能,我是说可能犯了这个问题,可以百度一下
遍历前,搞清楚数据结构,这里的链表第一个节点没有存放数据,故要跳过再处理

[此贴子已经被作者于2020-11-18 23:14编辑过]


剑栈风樯各苦辛,别时冰雪到时春
2020-11-18 23:11
酷工俊客
Rank: 1
等 级:新手上路
帖 子:1
专家分:3
注 册:2020-11-22
得分:3 
单链表没写对啊
2020-11-22 12:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-503931-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.070091 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved