#include<stdio.h>
#include<iostream.h>
#include<stdlib.h>
#define MAXSIZE 100
typedef struct{
int data;
} SElemType;
typedef struct
{
SElemType *base;
SElemType *top;
int stacksize;
int push(SqStack *S,int val);
{
SqStack S;
init (&S);
push(&S,5);
push(&S,9);
push(&S,8);
push(&S,10);
traverse(&S);
}
void init(SqStack *S){
S->base= new SElemType[MAXSIZE];
S->top=S->base;
S->stacksize=MAXSIZE;
}
int push(SqStack *S,int val) //第1个方法.
{
}
void traverse(SqStack *S)
{ int e;
SElemType *p;
return;
}
#include<iostream.h>
#include<stdlib.h>
#define MAXSIZE 100
typedef struct{
int data;
} SElemType;
typedef struct
{
SElemType *base;
SElemType *top;
int stacksize;
}SqStack;
int push(SqStack *S,int val);
void traverse(SqStack *S);
{
SqStack S;
init (&S);
push(&S,5);
push(&S,9);
push(&S,8);
push(&S,10);
traverse(&S);
}
void init(SqStack *S){
S->base= new SElemType[MAXSIZE];
S->top=S->base;
S->stacksize=MAXSIZE;
}
int push(SqStack *S,int val) //第1个方法.
{
S.top->data=val;
S.top++;
}
void traverse(SqStack *S)
{ int e;
SElemType *p;
p=S->base;
e=p->data;
printf("%d\n",e);return;
}
这样写为什么我的栈底没有数据,把 S.top->data=val; S.top++; 位置调换下栈底就有数据了 可是这样说不通,
栈底指针和栈顶指针一开始我是指向同一个地方啊. 求大佬教教 谢谢