c语言三元运算符用法,push中怎么用三元运算符

满意答案

dcebd7a0de6265b6ccae5ead692f1eab.png

looou

2012.12.26

dcebd7a0de6265b6ccae5ead692f1eab.png

采纳率:41%    等级:13

已帮助:7767人

首先肯定要设计栈的数据结构,之后设计运算符操作类,这是整体思路。

//mystack.h

#include

using namespace std;

template

class Stack

{

public:

T *data;

int maxSize;

int top;

public:

Stack(int n)

{

data=new T[n];

if(data==NULL)

{cout<

maxSize=n;

top=-1;

}

Stack(){}

~Stack()

{

cout<

}

//创建空栈

void SetStack(int n);

//栈存在则栈被销毁

void FreeStack();

//栈存在则返回栈的元素个数,即栈的长度

int StackSize();

//判断栈是否为空

bool StackEmpty();

//判断栈是否为满

bool StackFull();

//栈存在且非空则返回栈的栈顶元素

T Peek();

//栈存在则插入元素item为新的栈顶元素

void Push(T item);

//栈 存在且非空则删除栈的栈顶元素并用e返回其值

T Pop();

//栈存在则清为空栈

void ClearStack();

void PrintStack();

};

//顺序栈的实现mystack.cpp

#include "mystack.h"

template

void Stack::SetStack(int n)

{

data=new T[n];

if(data==NULL)

{cout<

maxSize=n;

top=-1;

}

template

void Stack::FreeStack()

{free(data);}

template

int Stack::StackSize()

{return(top+1);}

template

bool Stack::StackEmpty()

{

if(top==-1)

return true;

return false;

}

template

bool Stack::StackFull()

{

if(top==maxSize-1)

return true;

return false;

}

template

T Stack::Peek()

{

if(top==-1)

{cerr<

return(data[top]);

}

template

void Stack::Push(T item)

{

if(top==maxSize-1)

{cerr<

top++;

data[top]=item;

}

template

T Stack::Pop()

{

if(top==-1)

{cerr<

top--;

return data[top+1];

}

template

void Stack::ClearStack()

{top=-1;}

template

void Stack::PrintStack()

{

while(top!=-1)

{

cout<

top--;

}

}

00分享举报

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值