m0_74539947 2022-11-06 03:18 采纳率: 100%
浏览 51
已结题

顺序栈的出栈与入栈操作

#include 
using namespace std;
#define MaxSize 100
//顺序栈的初始分配空间大小
typedef int ElemType;
//假设顺序栈中所有元素为int类型
typedef struct
{
    ElemType data[MaxSize];
    //保存栈中元素
    int top;
    //栈顶指针
}SqStack;
//顺序栈类型

int Push(SqStack&st,ElemType x)//进栈元
{
    if (st.top==MaxSize-1)

        return 0;
    else
    {
        st.top++;
        st.data[st.top]=x;
        return 1;

    }
}

int StackEmpty(SqStack st)
    //判断栈是否为空
{
    
if(st.top==-1)
return 1;
else return 0;
}

    int Pop(SqStack &st,SqStack&tmpst,ElemType &x) ///st,15
    //出栈元素x
    {
        if(st.top==-1)
        //栈空
        return 0;
    
    else if(st.data[st.top]==15) //等于15的时候出栈
        
    {     
        x=st.data[st.top];
        st.top--;
        return 1;
        
    }
    
    else                //不是值为15的 出栈并且存到临时栈tmpst中
    {
        
    tmpst.data[tmpst.top]=st.data[st.top];
    st.top--;
    tmpst.top++;
    return 1;

    }

int lop(SqStack &st,ElemType &x){
if(tmpst.top==-1)
return 0;//栈空
else
x=st.data[st.top]
st.top--;
rerturn 1;
}

void expand_action()
    
    
    {    
    
        printf("初始化栈st\n");    
        SqStack st,tmpst;
        ElemType e,t;
        InitStack(st);
        InitStack(tmpst);
        printf("栈%s\n",(StackEmpty(st)==1?"空":"不空"));
        Push(st,10);
        Push(st,15);
        Push(st,20);
        Push(st,15);
        Push(st,15);
        Push(st,60);
        printf("元素10 15 20 15 15 60依次进栈st\n");
        printf("退栈所有值为15的元素\n");
        int t=15;//
        Pop(st,t);//t=15
        printf("栈%s\n",(StackEmpty(st)==1?"空":"不空"));
        printf("出栈序列为");

         while(!StackEmpty(st))
         {
             
             Pop(st,e);
             printf("%c",e);
             
         }

         
    
    }

    int main()

    {
       // 
        expand_action;
        return 0;
    }

img

不太明白怎么写 有没有老哥看看怎么弄

  • 写回答

1条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 11月14日
      • 已采纳回答 11月6日
      • 创建了问题 11月6日

      悬赏问题

      • ¥15 vs创建SQL Server数据库时出现“系统找不到指定的路径”
      • ¥15 网页超时时间设置失效
      • ¥15 有关绿色信贷毕业论文的问题
      • ¥30 关于#机器人#的问题,如何解决?
      • ¥15 求MATLAB函数ScalarLayerDisplay的代码
      • ¥15 安卓如何自动执行检测到的NFC标签,无需再点确认
      • ¥15 pyHM库mouse模块的ValueError错误
      • ¥15 python opencv 摄像头 传感器
      • ¥30 eMMC&Android&C&Linux
      • ¥15 uniapp ios恢复购买