Stack Operator

原创 2007年09月29日 12:38:00

Simple Stack Template Stack Operator::

#include <iostream.h>
class IStack{
 enum {ssize =10};
 int s[ssize];
 int top;
public:
 IStack():top(0){s[top]=0;}
 bool Isempty(){
  if (top ==0)return true;
  else
   return false;
 }
 bool push(int e){
  if(top<ssize){
   s[top++]=e;
   return true;
  }
  else
   return false;
 }
 int pop(){
  return s[top>0 ? --top: top];
 }
};
template <class T>
class TStack{
 enum { ssize =10 };
 T s[ssize];
 int top;
public:
 TStack():top(0){ s[top]=0; }
 bool push(const T e){
  if(top<ssize){
   s[top++]=e;
   return true;
  }
  else
   return false;
 }
 T pop(){
  return s[top>0 ? --top: top];
 }
};
 -----------------------------------------------------------------------------------------------------

Link List Dynamic increament Stack :

#include <malloc.h>
#include <stdio.h>
#include <iostream.h>
enum { INIT_SIZE=5,INCREMENT=5};
typedef struct{
 char * base;
 char * top;
 int stacksize;
}LStack;
void InitStack(LStack &S){
 S.base=(char*)malloc(INIT_SIZE * sizeof(char));
 if(! S.base) return ;
 S.top=S.base;
 S.stacksize=INIT_SIZE;
}
bool Push(LStack &S,char e){
 if((S.top-S.base)>=S.stacksize){
  S.base=(char*)realloc(S.base,(S.stacksize + INCREMENT)*sizeof(char));
  if(!S.base) return false;
  S.top=S.base+S.stacksize;
  S.stacksize+=INCREMENT;
 }
 *S.top++=e;
 return true;
}
bool Pop(LStack &S,char &e){
 if(S.top==S.base)return false;
 e=*--S.top;
 return true;
}

Passpoint R1 Operator Best Practices

  • 2017年12月07日 22:07
  • 744KB
  • 下载

matrix simple operator

  • 2014年03月19日 17:20
  • 9KB
  • 下载

C++那些细节--中operator=相关问题

C++中关于operator=的相关知识整理,涉及深拷贝浅拷贝,以及一些拷贝构造函数的知识...

operator theory

  • 2015年10月23日 13:33
  • 17.91MB
  • 下载

PSSu E F 4DO_operator manual

  • 2015年06月04日 09:46
  • 1.96MB
  • 下载

new expression、operator new和placement new——三个“妞(new)”的故事(3)

placement operator new placement operator new用来在指定地址上构造对象,要注意的是,它并不分配内存,仅仅是 对指定地址调用构造函数。其调用方式如下: ...

PSSu E F 4DI_operator manual

  • 2015年06月04日 09:43
  • 1.92MB
  • 下载

Zigbee Operator V1.0.0.137

  • 2012年09月16日 18:02
  • 2.67MB
  • 下载

C++学习 operator两种用法详解

转换函数的名称是类型转换的目标类型,因此,不必再为它指定返回值类型;转换函数是被用于本类型的数值或变量转换为其他的类型,也不必带参数   在写这篇文章之前,让我们先回顾一下编译器通过匹配过程确...
  • skdkjxy
  • skdkjxy
  • 2015年05月20日 16:56
  • 5901

ZigBee Operator

  • 2012年06月02日 18:57
  • 2.79MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Stack Operator
举报原因:
原因补充:

(最多只允许输入30个字)