📄 decipher.h
字号:
#include<iostream.h>
#include<stdio.h>
#include<string.h>
const size=1000;
class stack//栈类
{
public:
stack(int); //构造栈
~stack();//析构
void push(char s); //压栈,压之前须判是否已满
void push_string(char *s);//把一个字符串压进栈里
char pop();//弹栈, 弹之前判断是否已空
char getTop();//取栈顶元素
void makeEmpty (); // 清空
int isEmpty() ; // 栈空为1,否则为 0
int isFull() ;// 栈满为 1,否则为 0
private:
int top; //栈顶
int maxsize;//栈最大容量
char *st;
};
stack::stack(int s)//构造函数定义
{
maxsize=s;
st=new char[s];
top=-1;
}
void stack::push(char s)//压栈函数定义
{
if(!isFull())
{
top++;
st[top]=s;
}
}
void stack::push_string(char *s)//把字符串压栈
{
int len=strlen(s);
for(int i=0;i<len;i++)
{
if(!isFull())
push(s[i]);
}
}
char stack::pop()//弹栈函数定义
{
if(!isEmpty())
return st[top--];
}
int stack::isEmpty()//判断是否空
{
return top==-1;
}
int stack::isFull()//判断是否满
{
return top==maxsize-1;
}
char stack::getTop()//取栈顶元素
{
if(!isEmpty())
return st[top];
}
void stack::makeEmpty()//清空栈
{
for(int i=0;i<maxsize;i++)
st[i]='\0';
}
stack::~stack()
{
delete []st;
}
char* reverse(char a[])//把字符串逆转
{
int len=strlen(a);
char *b=new char[len+1];
for(int j=0;j<len;j++)
{
b[j]=a[len-1-j];
}
b[len]='\0';
return b;
}
void make_string_empty(char *a)//把字符数组清空
{
int len=strlen(a);
for(int j=0;j<len;j++)
a[j]='\0';
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -