您的位置:首页 > 理论基础 > 数据结构算法

数据结构基础(一)栈的实现

2014-04-23 09:44 246 查看
class stack
{
private:
int stackTopIndex;
int *stackBase;
int size;
public:
stack(int num)
{
if (num>=1)
{
size=num;
stackBase=new int[size];
stackTopIndex=-1;
}
else
{
stackBase=NULL;     //典型的空栈模式
stackTopIndex=-1;
size=0;
}

};

~stack()
{
if (stackBase!=NULL)
{
delete []stackBase;
}
};

bool push(int data)
{	//0-size-1
if (stackTopIndex<size-1)
{
stackTopIndex++;
stackBase[stackTopIndex]=data;
return true;
}
cout<<"Error:Full of Stack"<<endl;
return false;
};

bool pop(int &data)
{
if (stackTopIndex>=0)
{
data=stackBase[stackTopIndex];
stackTopIndex--;
return true;
}
cout<<"Pop Error:Empty Stack"<<endl;
return false;
};
void print()
{
for (int i=0;i<=stackTopIndex;i++)
{
cout<<stackBase[i]<<"\t";
}
};

void clear()
{
stackTopIndex=-1;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: