| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3147 人关注过本帖
标题:[求助]编写一个双向链表的程序
只看楼主 加入收藏
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
得分:0 

从后边插入

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

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

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

int main(void)
{
LinkList headPtr = NULL;

CreateList(&headPtr);

VisitList(headPtr);

DestroyList(&headPtr);

getch();
return 0;
}

static void CreateList(LinkList *headPtr)
{
LinkList newPtr, stepPtr;
char c;

if (((*headPtr) = (LinkList)malloc(sizeof(Lnode))) == NULL)
{
exit(1);
}
(*headPtr) -> nextPtr = NULL;

stepPtr = *headPtr;
while ((c = getchar()) != '\n')
{
if ((newPtr = (LinkList)malloc(sizeof(Lnode))) == NULL)
{
exit(1);
}
newPtr -> data = c;
newPtr -> nextPtr = NULL;

stepPtr -> nextPtr = newPtr;
stepPtr = newPtr;
}
}

static void VisitList(LinkList headPtr)
{
headPtr = headPtr -> nextPtr;

while (headPtr != NULL)
{
putchar(headPtr -> data);
headPtr = headPtr -> nextPtr;
}
putchar('\n');
}

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

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




日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-05-20 16:37
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
以下是引用starrysky在2006-5-20 16:30:00的发言:

这句话不对哦, 栈可是一段连续的空间, 跟链表撤不上关系, 顺序表倒挺象的
ps: 没想到论坛上美女ID这么吃香, 早知道就冒充美女了

弄个链栈不就撤上关系了..嘿嘿..

你去弄个马甲...专问问题..


[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-05-20 16:38
starrysky
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:华中科技大学EI -T0405
等 级:版主
威 望:11
帖 子:602
专家分:1
注 册:2005-9-12
收藏
得分:0 
以下是引用SunShining在2006-5-20 16:38:00的发言:

弄个链栈不就撤上关系了..嘿嘿..

恩, 有道理
不过马甲是不敢弄的, 被静老大发现了封了号可就不妙了啊


我的征途是星辰大海
2006-05-20 16:44
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
得分:0 
以下是引用starrysky在2006-5-20 16:30:00的发言:

这句话不对哦, 栈可是一段连续的空间, 跟链表撤不上关系, 顺序表倒挺象的
ps: 没想到论坛上美女ID这么吃香, 早知道就冒充美女了

兄弟,没学过链栈吧


日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-05-20 16:44
starrysky
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:华中科技大学EI -T0405
等 级:版主
威 望:11
帖 子:602
专家分:1
注 册:2005-9-12
收藏
得分:0 
以下是引用论坛在2006-5-20 16:44:00的发言:

兄弟,没学过链栈吧

哎, 也不用这样痞我嘛
学是学过, 但是 没用过映象不深嘛
我知道错了, 你就原谅我吧


我的征途是星辰大海
2006-05-20 16:54
zhengwenqi
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-5-12
收藏
得分:0 

从前面插那个输入了但是没有运行结果


一如往昔……
2006-05-20 17:51
论坛
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1372
专家分:0
注 册:2006-3-27
收藏
得分:0 
从前边插入的你要输入结束符号它才能显示结果啊,输入完你输入的数据后输入Ctrl+Z,然后按回车就可以了

日出东方,唯我不败! 做任何东西都是耐得住寂寞,任何一个行业要有十年以上的积累才能成为专家
2006-05-20 18:40
zhengwenqi
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-5-12
收藏
得分:0 

那怎么改一下,改了以后有提示说明怎么输入,而且要输入结束符的呢?


一如往昔……
2006-05-20 20:21
zhengwenqi
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2006-5-12
收藏
得分:0 
还有`我怎么写这两个算法设计思想呢..

一如往昔……
2006-05-20 20:29
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
收藏
得分:0 
以下是引用论坛在2006-5-20 16:34:00的发言:

static void CreateList(LinkList *headPtr)
{
LinkList newPtr;
int c;

while ((c = getchar()) != EOF) /*EOF是什么啊?*/
{
if ((newPtr = (LinkList)malloc(sizeof(Lnode))) == NULL)
{
exit(1);
}
newPtr -> data = c;
newPtr -> nextPtr = *headPtr;
*headPtr = newPtr;
}
}




2006-05-20 20:36
快速回复:[求助]编写一个双向链表的程序
数据加载中...
 
   



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

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