C++的入栈出栈问题
#include<iostream.h>
#include<stdio.h>
#include<stdlib.h>
#define size 100
typedef struct sqst
{ int data[size];
int top;
}stack;
int n;
void create(stack * &sq)
{
sq=(stack *)malloc(sizeof(stack));
sq->top=0;
int x;
cout<<"gwshu:";
cin>>n;
for(int i=1;i<=n;i++)
{cin>>x;
sq->data[sq->top]=x;
sq->top++;}
}
insert(int x,stack * sq)
{ if(sq->top==size-1)
cout<<"over!";
else
{ sq->top++;
sq->data[sq->top]=x;
return 1;
}
}
gettop(stack * sq,int &x)
{ if (sq->top==-1)
return 0;
else
{ x=sq->data[sq->top];
sq->top--;
cout<<x;
return 1;
}
}
void main()
{ stack * sq;
create(sq);
int x=56;
insert(x,sq);
int i=1;
while (i<=(n+1))
gettop(sq,x);
}
为什么不能显示入栈后的结果?
#include<stdio.h>
#include<stdlib.h>
#define size 100
typedef struct sqst
{ int data[size];
int top;
}stack;
int n;
void create(stack * &sq)
{
sq=(stack *)malloc(sizeof(stack));
sq->top=0;
int x;
cout<<"gwshu:";
cin>>n;
for(int i=1;i<=n;i++)
{cin>>x;
sq->data[sq->top]=x;
sq->top++;}
}
insert(int x,stack * sq)
{ if(sq->top==size-1)
cout<<"over!";
else
{ sq->top++;
sq->data[sq->top]=x;
return 1;
}
}
gettop(stack * sq,int &x)
{ if (sq->top==-1)
return 0;
else
{ x=sq->data[sq->top];
sq->top--;
cout<<x;
return 1;
}
}
void main()
{ stack * sq;
create(sq);
int x=56;
insert(x,sq);
int i=1;
while (i<=(n+1))
gettop(sq,x);
}
为什么不能显示入栈后的结果?
...全文
相关推荐
cpp代码-入栈出栈相同 先全部输入6个元素 再全部输出6个元素 (注:输入的是栈元素) 简化版
cpp代码-入栈出栈相同 先全部输入6个元素 再全部输出6个元素 (注:输入的是栈元素) 简化版
用栈模拟火车出站c/c++源代码
用栈模拟火车出站c/c++源代码, !!!!!!!!!!!!!!!!!!!!!!!!!!!!
已知Q是一个非空队列,S是一个空栈。仅用队列和栈的ADT函数和少量工作变量,编写一个算法,将队列Q中的所有元素逆置
已知Q是一个非空队列,S是一个空栈。仅用队列和栈的ADT函数和少量工作变量,编写一个算法,将队列Q中的所有元素逆置
栈操作演示
栈的进栈、出栈基本操作演示
数据结构实验三栈和队列及其应用.pdf
数据结构实验三栈和队列及其应用.pdf数据结构实验三栈和队列及其应用.pdf数据结构实验三栈和队列及其应用.pdf数据结构实验三栈和队列及其应用.pdf数据结构实验三栈和队列及其应用.pdf数据结构实验三栈和队列及其应用.pdf数据结构实验三栈和队列及其应用.pdf数据结构实验三栈和队列及其应用.pdf数据结构实验三栈和队列及其应用.pdf


