简单数据结构之 vector 栈(C++ vector 实现)

本文通过一个简单的C++程序展示了如何使用vector实现一个栈数据结构,包括初始化、清空、判断栈是否为空、获取栈顶元素、压栈、弹栈和遍历栈等操作。程序中定义了一个名为stack的类,使用vector动态存储数据,并提供相应的成员函数进行栈的操作。
/*
 ============================================================================
 Name        : stack_array.cpp
 Author      : ntsk13 beijiwei@qq.com
 Version     :
 Copyright   : GPL
 Description : stack array study, complement by C++
 Date        : 2015.06.17
 ============================================================================
 */

#include <iostream>
#include <vector>
using namespace std;

#define STACK_CAPACITY 10
typedef struct {
	int data;
}Elem_t;

class  stack {
public:
	vector<Elem_t> v;
	int top;
	int capacity;
	int cur_len;

	void init();
	void clear();
	bool is_empty();
	Elem_t get_top_elem();
	bool push(Elem_t e);
	bool pop(Elem_t &e);
	int get_len();
	void traverse();
};

int main(void) {
	stack S;
	Elem_t zero,one,two,three,four,five,six;
	zero.data=0;
	one.data=1;
	two.data=2;
	three.data=3;
	four.data=4;

	S.init();
	cout<<"S is empty ? "<<( (S.is_empty()) ?"Yes":"No")<<endl;
	S.pop(six);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值