【NEFU锐格】数据结构实验二

文章目录

  • 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
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值