文章目录
- 8563
- 8562
- 8566
- 8569
- 8564
- 8564
- 8568
1.8563 顺序栈的实现
#include <bits/stdc++.h>
using namespace std;
#define maxsize 100
typedef struct{
int *base;
int *top;
int msize;
}Stack;
void init(Stack &a){
a.base=new int[100];
a.top=a.base;
a.msize=maxsize;
}
void push(Stack &a,int e){
*a.top++=e;
}
void pop(Stack &a){
*a.top--;
}
void top(Stack a){
cout<<*(a.top-1)<<' ';
}
int main()
{
Stack a;
init(a);
int e;
while(cin>>e){
if(e==0) break;
push(a,e);
}
while(a.base!=a.top){
top(a);
pop(a);
}
return 0;
}
2.8562 链式栈的实现
#include <bits/stdc++.h>
using namespace std;
typedef struct node{
int data;
struct node *next;
}Stacklist;
void init(Stacklist* &a){
a=NULL;
}
void push(Stacklist* &a,int n){
Stacklist *p;
p=new Stacklist;
p->data=n;
p->next=a;
a=p;
}
void pop(Stacklist* &a){
a=a->next;
}
void top(Stacklist* a){
cout<<a->data<<' ';
}
int main()
{
Stacklist *a;
init(a);
int