c++学习:一个简单的类
2006-04-25 20:21
369 查看
/*************************************************
* 栈 *
* 实现简单stack类的栈 *
*************************************************/
#include<iostream>
#include<cstdlib>
#include<assert.h>
using namespace std;
const int STACK_SIZE = 100; //the max size of this stack;
/**************************************************
* stack 类 *
* 成员函数 *
* init ——初始化栈 *
* push -- 在栈中放入一个元素 *
* pop -- 弹出栈中顶部元素 *
**************************************************/
class stack {
private:
int count; //elememt of this stack;
int data[STACK_SIZE]; //元素本身
public:
//初始化栈
void init();
//将一个元素压到栈中
void push(const int item);
//从栈中弹出一个元素
int pop();
};
/*************************************************
*stack::init--初始化栈 *
*************************************************/
inline void stack::init()
{
count = 0;//栈清零
}
/**************************************************
* stack::push --将一个元素压到栈中; *
* 警告:这里没有检查栈时候溢出 *
* 入口参数 *
* item:要放入的元素 *
**************************************************/
inline void stack::push(const int item)
{
assert((count >= 0)&&
(count < sizeof (data)/sizeof (data[0])));
data[count] = item;
++count;
}
/*************************************************
* stack::pop --将一个元素从栈中弹出 *
*警告:这里没有检查栈是否溢出 *
*返回 *
*栈的顶部元素 *
*************************************************/
inline int stack::pop()
{
//栈下一位
count--;
return (data[count]);
}
//简单测试
void main()
{
stack a_stack;//准备使用栈
a_stack.init();
a_stack.push(1);
a_stack.push(2);
a_stack.push(3);
cout<< "expect a 3:"<<a_stack.pop() <<"/n";
cout<< "expect a 2:"<<a_stack.pop() <<"/n";
cout<< "expect a 1:"<<a_stack.pop() << "/n";
}
* 栈 *
* 实现简单stack类的栈 *
*************************************************/
#include<iostream>
#include<cstdlib>
#include<assert.h>
using namespace std;
const int STACK_SIZE = 100; //the max size of this stack;
/**************************************************
* stack 类 *
* 成员函数 *
* init ——初始化栈 *
* push -- 在栈中放入一个元素 *
* pop -- 弹出栈中顶部元素 *
**************************************************/
class stack {
private:
int count; //elememt of this stack;
int data[STACK_SIZE]; //元素本身
public:
//初始化栈
void init();
//将一个元素压到栈中
void push(const int item);
//从栈中弹出一个元素
int pop();
};
/*************************************************
*stack::init--初始化栈 *
*************************************************/
inline void stack::init()
{
count = 0;//栈清零
}
/**************************************************
* stack::push --将一个元素压到栈中; *
* 警告:这里没有检查栈时候溢出 *
* 入口参数 *
* item:要放入的元素 *
**************************************************/
inline void stack::push(const int item)
{
assert((count >= 0)&&
(count < sizeof (data)/sizeof (data[0])));
data[count] = item;
++count;
}
/*************************************************
* stack::pop --将一个元素从栈中弹出 *
*警告:这里没有检查栈是否溢出 *
*返回 *
*栈的顶部元素 *
*************************************************/
inline int stack::pop()
{
//栈下一位
count--;
return (data[count]);
}
//简单测试
void main()
{
stack a_stack;//准备使用栈
a_stack.init();
a_stack.push(1);
a_stack.push(2);
a_stack.push(3);
cout<< "expect a 3:"<<a_stack.pop() <<"/n";
cout<< "expect a 2:"<<a_stack.pop() <<"/n";
cout<< "expect a 1:"<<a_stack.pop() << "/n";
}
相关文章推荐
- ROS学习笔记十:用C++编写一个简单的服务和客户端
- 强烈推荐一个在线学习C++的网站,非常赞!简单+高效+实用!
- VS2010 C++ MFC框架学习笔记2 - 创建一个简单的加法计算器(2)
- ROS的学习(十四)用C++写一个简单的接收者
- C++学习:一个简单适用的跨平台Log类(1)
- c++学习笔记--一个简单的 try-catch-throw
- 学习C++时候写的一个简单Array类
- VS2010 C++ MFC框架学习笔记1 - 创建一个简单的加法计算器(1)
- 学习C++的成果,一个简单的四则运算计算器内核
- 有章法的学习c++(1)编写一个简单的c++程序
- ROS的学习(十二)用C++写一个简单的发布者
- C++: wxWidgets (3) 一个简单的wxWidgets程序(学习笔记)
- ROS的学习(十六)用C++写一个简单的服务器(service)和客户端(client)
- 实例学习SSIS(一)--制作一个简单的ETL包
- android初步学习时所有简单例子整合到一个ListView上
- 爬虫学习之一个简单的网络爬虫
- 从零开始学习c++之一维、二维数组和vector的简单使用
- SQL 数据库 学习 007 通过一个示例简单介绍什么是字段、属性、列、元组、记录、表、主键、外键 (上)
- Vue.js学习-搭建一个简单的demo
- linux0.11学习笔记-技术铺垫-简单AB任务切换程序(1)-实现一个简单的bootloader