| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3288 人关注过本帖
标题:[求助]各位高手,请帮助小女
只看楼主 加入收藏
流星雨
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:JAVA风暴
等 级:版主
威 望:43
帖 子:1854
专家分:1868
注 册:2004-5-30
收藏
得分:0 

谢了,有个请求,下次写程序可以帮我把句释写出来么?

我还掉了一句,“接下来先调用以上算法,然后分别打印栈中内容!”可否帮小女补充完整?


感谢你们带我找到星空下美丽神话,无论经历多少苦痛也不放弃的梦;插上希望翅膀乘风我和你们飞翔,飞过海天尽头携手把梦想实现.....
2004-06-01 12:14
好学
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
帖 子:622
专家分:318
注 册:2004-5-4
收藏
得分:0 
呵呵,你象小生一样好学
2004-06-01 12:21
zff_ff
Rank: 1
等 级:新手上路
帖 子:147
专家分:0
注 册:2004-5-12
收藏
得分:0 

呵呵,不是偶喜欢泼冷水啊,你认为改了以后就是栈吗?

我不这么认为,再看看几个指针的指向

......

ALinlList *Node0;

Node0=(struct ALinlList*)malloc(sizeof(struct ALInlList));

Node0=MS[0];

.......

/*for循环内的*/

Node->next=MS[i];

Node=MS[i];

Node->next=NULL;

.....

我是一只很懒的菜鸟,太长的代码偶写不来。不过这样版主应该会明白我的意思(不管

我是对的还是错的)

[此贴子已经被作者于2004-06-01 12:46:48编辑过]


偶是一只想要飞却忘了咋飞的菜鸟
2004-06-01 12:41
christine
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2004-6-1
收藏
得分:0 
define N 50.就是将50赋给N

2004-06-01 15:01
jzh2004
Rank: 1
等 级:新手上路
帖 子:341
专家分:0
注 册:2004-4-30
收藏
得分:0 
以下是引用zff_ff在2004-06-01 12:41:43的发言:

呵呵,不是偶喜欢泼冷水啊,你认为改了以后就是栈吗?

我不这么认为,再看看几个指针的指向

......

ALinlList *Node0;

Node0=(struct ALinlList*)malloc(sizeof(struct ALInlList));

Node0=MS[0];

.......

/*for循环内的*/

Node->next=MS[i];

Node=MS[i];

Node->next=NULL;

.....

我是一只很懒的菜鸟,太长的代码偶写不来。不过这样版主应该会明白我的意思(不管

我是对的还是错的)

不知道你是什么意思,MS[50]是一个ALinlList类型的数组,不需要在malloc了,

举个例子,你输入50,65,105,51,66,106

假设MS地址从0开始,那么第一个栈MS[0]中next值是6,就是放51的,而MS[6]中next是3,就是放50的,而MS[3]中next是NULL。

MS[1]中next值是7,就是放66的,而MS[7]中next是4,就是放65的,而MS[4]中next是NULL。

MS[2]中next值是8,就是放106的,而MS[8]中next是5,就是放105的,而MS[5]中next是NULL。

你把图画出来就行了


我的主页 http://www.
2004-06-01 18:14
zff_ff
Rank: 1
等 级:新手上路
帖 子:147
专家分:0
注 册:2004-5-12
收藏
得分:0 

所谓的栈就是先进后出(FILO)。

也就是说MS[0],MS[1],MS[2]必须在栈底

版主的程序MS[0],MS[1],MS[2]不管怎样,他们都是在栈顶,这是栈吗?

我之所以要重新分配三个指针就是为了记录栈顶的位置,

而版主直接用MS[0],MS[1],MS[2]来完成,这是错误的


偶是一只想要飞却忘了咋飞的菜鸟
2004-06-02 00:17
jzh2004
Rank: 1
等 级:新手上路
帖 子:341
专家分:0
注 册:2004-4-30
收藏
得分:0 

看来你并没有完全理解栈的意思,也没有理解楼主的意思,下面是楼主的话

用定义类型为ALinlList的一维数组MS[MAXSize]建立三个链接堆栈,其中前三个元素的NEXT域用来存储三个栈顶指针,

并不是一定要是栈底才叫栈,很多链接存储的栈都是存放栈顶指针的,

建议你可以看一下数据结构书上有关链接栈的内容,我想你会明白的。


我的主页 http://www.
2004-06-02 09:36
zff_ff
Rank: 1
等 级:新手上路
帖 子:147
专家分:0
注 册:2004-5-12
收藏
得分:0 

我晕了

sorry


偶是一只想要飞却忘了咋飞的菜鸟
2004-06-02 12:29
asdliu
Rank: 1
等 级:新手上路
帖 子:175
专家分:0
注 册:2004-4-21
收藏
得分:0 
回复
以下是引用流星雨在2004-05-31 21:07:12的发言: #define N 50定义的是什么?

就是定义一个值的下限为50,例:

int a[N} ;

这个n的最大值为50,这个定义一般在main函数以为,是一个全局变量


阳光版主欢迎您
2004-06-02 12:46
asdliu
Rank: 1
等 级:新手上路
帖 子:175
专家分:0
注 册:2004-4-21
收藏
得分:0 
#include <stdio.h>
#define n  100
#define m  100
#define k  100
main()
 {   int a[n];
     int b[m];
     int c[k];
     int x;
     printf("please input x=");
     scanf("%d",&x);
     if(x>60)
 {if(x<100)
  a[0]=x;
      printf("a[0]=%d",a[0]);
 b[0]=0;
 c[0]=0;
      }
 else
 b[0]=x;
 printf("b[0]=%d",b[0]);
 a[0]=0;
 c[0]=0;
       if(x>100)
       c[0]=x;
       printf("c[0]=%d",c[0]);
       a[0]=0;
       b[0]=0;
   }
看这个程序可以满足你吗?不行再说,我想用数组一样可以吧,我的数据结构不是很好

阳光版主欢迎您
2004-06-02 13:25
快速回复:[求助]各位高手,请帮助小女
数据加载中...
 
   



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

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