栈的实现:
#include<iostream>
#include<string>
using namespace std;
#define size 5
class zhan
{
public:
zhan()
{
number=0;
}
void push(int c)
{
if(number==size)
{
cout<<"栈已经满了,无法在插入了"<<endl;
return ;
}
else
{
number++;
a[number]=c;
}
}
void pop()
{
if(number==0)
{
cout<<"栈已经空"<<endl;
return ;
}
else
{
cout<<"出栈元素是"<<a[number]<<endl;
number--;
}
}
void show()
{
cout<<"栈里现在有元素的个数是"<<number<<endl;
}
private:
int a[size];
int number;
};
int main()
{
class zhan zhan1;
int c;
string str1;
cout<<"输入y进行入栈输入n进行出栈,输入k显示当前栈中元素的个数,输入x退出"<<endl;
cin>>str1;
while(str1[0]!='x')
{
if(str1[0]=='y')
{
cout<<"输入你要入栈的元素"<<endl;
cin>>c;
zhan1.push(c);
}
else if(str1[0]=='n')
{
zhan1.pop();
}
else if(str1[0]=='k')
zhan1.show();
cout<<"输入y进行入栈输入n进行出栈,输入k显示当前栈中元素的个数,输入x退出"<<endl;
cin>>str1;
}
return 0;
}
效果:
http://hiphotos.baidu.com/%B7%E7%C7%E5%D1%EFsong%B7%E7%C7%E5%D1%EFsong/pic/item/f2c50d63ff9f629a8cb10d10.jpg
队列的实现:
#include<iostream>
#include<string>
using namespace std;
#define size 3
class deque
{
public:
deque();
void ru_dui(int);
void chu_dui();
void show();
private:
int front;
int end;
int number;
int a[size];
};
deque::deque()
{
front=end=number=0;
}
void deque:: ru_dui(int c)
{
if(number==size)
{
cout<<"队列满了无法插入元素"<<endl;
return;
}
else
{
number++;
a[end]=c;
end=(end+1)%size;
}
}
void deque::chu_dui()
{
if(number==0)
{
cout<<"队列空"<<endl;
return ;
}
else
{
number--;
cout<<"出队元素是"<<a[front]<<endl;
front=(front+1)%size;
}
}
void deque::show()
{
cout<<"队列中元素的个数是"<<number<<endl;
}
int main()
{
class deque que1;
string str1;
cout<<"输入y入队,输入n出队,输入k查看队列元素个数,输入x退出"<<endl;
cin>>str1;
while(str1[0]!='x')
{
if(str1[0]=='y')
{
int c;
cout<<"输入入队列元素"<<endl;
cin>>c;
que1.ru_dui(c);
}
else if(str1[0]=='n')
que1.chu_dui();
else if(str1[0]=='k')
que1.show();
else;
cout<<"输入y入队,输入n出队,输入k查看队列元素个数,输入x退出"<<endl;
cin>>str1;
}
return 0;
}
效果:
http://hiphotos.baidu.com/%B7%E7%C7%E5%D1%EFsong%B7%E7%C7%E5%D1%EFsong/pic/item/b9c2fec0510f3610b219a81f.jpg