鱼C论坛

 找回密码
 立即注册
查看: 4549|回复: 6

新手学习数据结构,求助顺序栈!

[复制链接]
发表于 2015-7-5 11:04:11 | 显示全部楼层 |阅读模式
4鱼币
这是本人结合课本编写的子函数,不会写主函数,求大神帮助,目的是输入几个数或者字母 然后显示出来就好!



#define TRUE 1
#define FALSE 0
#define Stack_Size 50

/*顺序栈*/
typedef struct
{
        StackElementType elem[Stack_Size]; /*用来存放栈中元素的一维数组*/
        int top;                          /*用来存放栈顶元素的下标,top为-1表示空栈*/
}SeqStack;


/*初始化*/
void InitStack(SeqStack *S)
{
        /*构造一个空栈S*/
          S->top = -1;
}

/*判栈空*/
int IsEmpty(SeqStack *S) /*判断栈S为空栈时返回值为真,反之为假*/
{
        return(S->top==-1?TRUE:FALSE);
}

/*判栈满*/
int IsFull(SeqStack *S)        /*判断栈S为满栈时返回值为真,反之为假*/
{
        return(S->top==Stack_Size-1?TRUE:FALSE);
}

int Push(SeqStack *S,StackElementType x)
{
        if(S->top==Stack_Size-1)  
                return(FALSE);  /*栈已满*/
        S->top++;
        S->elem[S->top] = x;
        return(TRUE);
}

int Pop(SeqStack *S,StackElementType *x)
{  
        /* 将栈S的栈顶元素弹出,放到x所指的存储空间中 */
        if(S->top == -1)  /*栈为空*/
                return(FALSE);
        else
        {
                  *x = S->elem[S->top];
                S->top--;    /* 修改栈顶指针 */
                  return(TRUE);
        }
}

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-7-6 15:29:53 | 显示全部楼层
呵呵
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-8-12 20:53:28 | 显示全部楼层
大哥,我觉得写模块函数比写主函数难.
你设置一个数组a[长一点] p = a;
你弄个循环输入然后push
再循环pop用p作为接受出栈元素的指针
再printf就行了吗.
可是你没说逆序输出还是顺序输出

评分

参与人数 1鱼币 +2 收起 理由
沿岸数风景丶 + 2

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-8-19 16:06:54 | 显示全部楼层

刷点鱼币 只为下载 路过

评分

参与人数 1鱼币 +2 收起 理由
沿岸数风景丶 + 2

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-10-22 16:22:39 | 显示全部楼层
seqstack *l;
int n;
StackElementType x;
l=InitStack(l);
cout<<"please input element number:";cin>>n;
cout<<"please input element:"
for(int i=0;i<n;i++)
{
    cin>>x;
    Push(* l, x);
}
完成输入,写个输出函数就好了;
。。。。。。。

评分

参与人数 1鱼币 +2 收起 理由
沿岸数风景丶 + 2 热爱鱼C^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-12-6 11:21:34 | 显示全部楼层
自己写的,,无敌
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-8-16 23:24:29 | 显示全部楼层
你设置一个数组a[长一点] p = a;
你弄个循环输入然后push
再循环pop用p作为接受出栈元素的指针
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 02:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表