| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2005 人关注过本帖
标题:单链表的正序创建的问题(帮下忙谢谢了)
只看楼主 加入收藏
gaga
Rank: 1
等 级:新手上路
威 望:2
帖 子:307
专家分:0
注 册:2006-4-5
收藏
 问题点数:0 回复次数:24 
单链表的正序创建的问题(帮下忙谢谢了)

我写了个逆序的没有问题,,感觉正序的应当简单才行,居然出了问题
真郁闷!!!!
#include"stdio.h"
#include"stdlib.h"
#include"malloc.h"

#define null 0

typedef struct Lnode
{
int date;
struct Lnode *next;

}Node,*LinkList;

void CreatList(LinkList &L,int n);
void print(LinkList &L);


void CreatList(LinkList &L,int n)
{
LinkList s, p=L;

int i;
for(i=0;i<n;i++)
{
s=(LinkList)malloc(sizeof(Node));
if(!s) exit(1);
scanf("%d",&s->date);

s->next=null;
p->next=s;
p=s;
}

}

void print(LinkList &L)
{
LinkList p=L->next;
printf("********************************\n");
while(p)
{
printf("%d ",p->date);
p=p->next;
}
printf("\n********************************\n");
}


int main()
{
int n;
LinkList L;

printf("Please Input how many NOdes do you want:");
scanf("%d",&n);
printf("Please Input the NOdes you want:");
CreatList(L, n);
print(L);

return 0;
}

[此贴子已经被作者于2006-5-17 19:04:34编辑过]

搜索更多相关主题的帖子: 单链 
2006-05-17 18:55
gaga
Rank: 1
等 级:新手上路
威 望:2
帖 子:307
专家分:0
注 册:2006-4-5
收藏
得分:0 


怎么还没有人看吗??


明天的明天还有明天。 可是今天却只有一个。 public Copy from 无缘今生
2006-05-17 19:59
韦应贵
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2006-4-30
收藏
得分:0 
你的程序算法是对的,只是要把程序有"&amp;"的全部去掉就对了
2006-05-17 20:19
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
得分:0 

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

typedef struct node
{
char data;
struct node *nextPtr;
}*LinkList, Lnode;

static void CreateList(LinkList *headPtr, LinkList *tailPtr);
static void VisitList(LinkList headPtr);
static void DestroyList(LinkList *headPtr, LinkList *tailPtr);

int main(void)
{
LinkList headPtr = NULL, tailPtr = NULL;

CreateList(&headPtr, &tailPtr);

VisitList(headPtr);

DestroyList(&headPtr, &tailPtr);

getch();
return 0;
}

static void CreateList(LinkList *headPtr, LinkList *tailPtr)
{
char ch;
LinkList newPtr;

printf("Enter create list string: ");
fflush(stdin);

while (1)
{
scanf("%c", &ch);

if (ch == '\n')
{
return ;
}

if ((newPtr = (LinkList)malloc(sizeof(Lnode))) == NULL)
{
exit(1);
}
newPtr -> data = ch;
newPtr -> nextPtr = NULL;

if (*headPtr == NULL)
{
newPtr -> nextPtr = *headPtr;
*headPtr = newPtr;
}
else
{
(*tailPtr) -> nextPtr = newPtr;
}
*tailPtr = newPtr;
}
}

static void VisitList(LinkList headPtr)
{
while (headPtr != NULL)
{
printf("%c", headPtr -> data);
headPtr = headPtr -> nextPtr;
}
printf("\n");
}

static void DestroyList(LinkList *headPtr, LinkList *tailPtr)
{
LinkList tempPtr;

while (*headPtr != NULL)
{
tempPtr = *headPtr;
*headPtr = (*headPtr) -> nextPtr;
free(tempPtr);
}
*headPtr = NULL;
*tailPtr = NULL;
}





日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-05-17 20:25
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
以下是引用韦应贵在2006-5-17 20:19:00的发言:
你的程序算法是对的,只是要把程序有"&"的全部去掉就对了

没错...你的typedef定义太乱了..在函数中的L都要去掉&

或者这样.:


#include"stdio.h"
#include"stdlib.h"
#include"malloc.h"

#define null 0

typedef struct Lnode
{
int date;
struct Lnode *next;

}Node;


void CreatList(Node *L,int n)
{
Node *s, *p=L;

int i;
for(i=0;i<n;i++)
{
s=(Node *)malloc(sizeof(Node));
if(!s) exit(1);
scanf("%d",&s->date);

s->next=null;
p->next=s;
p=s;
}

}

void print(Node *L)
{
Node *p=L->next;
printf("********************************\n");
while(p)
{
printf("%d ",p->date);
p=p->next;
}
printf("\n********************************\n");
}


int main()
{
int n;
Node *L;


printf("Please Input how many NOdes do you want:");
scanf("%d",&n);
printf("Please Input the NOdes you want:");
CreatList(L, n);
print(L);

getch();
}

可能更明朗一点~!


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-05-17 20:31
gaga
Rank: 1
等 级:新手上路
威 望:2
帖 子:307
专家分:0
注 册:2006-4-5
收藏
得分:0 
4楼的兄弟,我好佩服你啊
这么快就能写一个出来
不过还是请你看下我的程序好不好
看别人的难点,不过我还是想不明白怎么出错了啊

明天的明天还有明天。 可是今天却只有一个。 public Copy from 无缘今生
2006-05-17 20:31
gaga
Rank: 1
等 级:新手上路
威 望:2
帖 子:307
专家分:0
注 册:2006-4-5
收藏
得分:0 

5楼的程序
我在VC++中运行不了啊


明天的明天还有明天。 可是今天却只有一个。 public Copy from 无缘今生
2006-05-17 20:37
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
以下是引用gaga在2006-5-17 20:31:00的发言:
4楼的兄弟,我好佩服你啊
这么快就能写一个出来
不过还是请你看下我的程序好不好
看别人的难点,不过我还是想不明白怎么出错了啊

2楼告诉你了..在函数中 L前面&的问题..去掉就对了!


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-05-17 20:38
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
我的WIN-TC..C-Free可能也可以..没试.
VC++没用过.不清楚...
还有一点..你的程序没有释放..自己加吧..!

[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-05-17 20:40
gaga
Rank: 1
等 级:新手上路
威 望:2
帖 子:307
专家分:0
注 册:2006-4-5
收藏
得分:0 

不好意思
刚才电脑有点问题
我对指针这块不是很专长,就用了书上的引用参数;可能各个编绎器差别大吧


明天的明天还有明天。 可是今天却只有一个。 public Copy from 无缘今生
2006-05-17 20:46
快速回复:单链表的正序创建的问题(帮下忙谢谢了)
数据加载中...
 
   



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

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