#include <iostream>
using namespace std;
typedef int Elemtype;
//栈中节点的结构
typedef struct Node {
Elemtype elem;
Node* next;
}node;
//栈结构
typedef struct Link {
node* top;
int count; //注意count初始化,++count,--count
};
//初始化栈
void initLink(Link& s) {
s.top = new node;
s.count = 0;
}
//入栈
int push(Link& s, Elemtype e) {
node* temp = new node;
temp->elem = e;
temp->next = s.top;
s.top = temp;
s.count++;
return 1;
}
//出栈
int pop(Link& s, Elemtype& e) {
if (s.count == 0) {
return 0;
}
node* temp = new node;
temp = s.top;
e = s.top->elem;
s.top = s.top->next;
delete temp;
s.count--;
return 1;
}
//得到栈顶元素
int getTop(Link& s) {
return s.top->elem;
}
02-栈和队列-单链表实现栈的基本操作
于 2022-10-22 18:32:11 首次发布