早教吧作业答案频道 -->其他-->
用MFC做栈类模板的设计与实现进行栈类模板的设计并实现,栈采用链式存储结构,数据元素可以是char,int,float等多种数据类型,包括以下功能:(1)实现初始化栈操作,建立一个空栈;(
题目详情
用MFC做栈类模板的设计与实现
进行栈类模板的设计并实现,栈采用链式存储结构,数据元素可以是char,int, float等多种数据类型,包括以下功能:(1) 实现初始化栈操作,建立一个空栈;(2) 实现清空栈操作;(3) 实现判断栈是否为空的操作;(4) 实现求栈长度的操作;(5) 实现返回栈顶元素的操作;(6) 实现入栈操作;(7) 实现出栈操作;(8)实现栈的遍历操作,输出栈的每个元素。(9) 将上述功能作为类的成员函数实现,编写主函数测试上述功能。
进行栈类模板的设计并实现,栈采用链式存储结构,数据元素可以是char,int, float等多种数据类型,包括以下功能:(1) 实现初始化栈操作,建立一个空栈;(2) 实现清空栈操作;(3) 实现判断栈是否为空的操作;(4) 实现求栈长度的操作;(5) 实现返回栈顶元素的操作;(6) 实现入栈操作;(7) 实现出栈操作;(8)实现栈的遍历操作,输出栈的每个元素。(9) 将上述功能作为类的成员函数实现,编写主函数测试上述功能。
▼优质解答
答案和解析
#include<iostream>
using namespace std;
template<class T>
class Stack
{
private:
T s[10];
int top;
public:
bool push(T a);
T pop(int i);
bool stackempty();
Stack(){top=0;}
};
template<class T>
bool Stack<T>::push(T a)
{
if(top<10)
{
s[top++]=a;
return 1;
}
else
return 0;
}
template<class T>
T Stack<T>::pop(int i)
{
if(i==0)top--;
return s[top--];
}
template<class T>
bool Stack<T>::stackempty()
{
if(s)
return 0;
else
return 1;
}
void main()
{
int a,n;char b;
Stack<int> a1;
cout<<"请输入栈元素个数:";
cin>>n;
cout<<"请输入栈元素:";
for(int i=0;i<n;i++)
{
cin>>a;
a1.push(a);
}
cout<<"出栈:";
for(int i=0;i<n;i++)
cout<<a1.pop(i)<<" ";
cout<<endl;
Stack<char> a2;
cout<<"请输入栈元素个数:";
cin>>n;
cout<<"请输入栈元素:";
for(int i=0;i<n;i++)
{
cin>>b;
a2.push(b);
}
cout<<"出栈:";
for(int i=0;i<n;i++)
cout<<a2.pop(i)<<" ";
cout<<endl;
}
看了 用MFC做栈类模板的设计与实...的网友还看了以下:
请问C4H10O的同分异构体是哪几种?大家描述下.比如:主链多少个C,支链上的C连在哪里,羟基连在 2020-05-13 …
研究证明某种病毒的碱基组成(A+C)/(G+T)≠1那么这种病毒很可能是()A.单链RNA病毒B. 2020-05-13 …
6.(2014•山西昔阳中学期中)研究证明某种病毒的碱基比例(A+C)/(G+T)≠1.那么这种病 2020-05-13 …
6.有一核酸分子,其碱基比是A+G/T+C=1.5,试推断该核酸是?A.信使RNA B.转运RNA 2020-05-17 …
求大哥大姐帮忙解决下链表问题C语言的。3.定义结点如下形式:structmenu{charname 2020-05-17 …
若a/b=c/d=e/f,则下列各式中正确的是().A.e/f=ac/bdB.e/f=(a+c+e 2020-06-06 …
道路勘测设计中断链,长链短链的问题某断链桩K2+100=K2+150,则路线()。A.长链50米B 2020-07-06 …
将一米长的铁链平放在地上,已知铁链的重力为100N,用拉力F将铁链的一端令起来,直到腾空,求拉力做功 2020-11-20 …
有关化学系统命名法c-c-c-c-c-c-c||cc-c如何命名~主链从哪边编号?上面的式子因为空格 2020-11-24 …
正异新正指只有主链,异为有一个支链,新为两个,总碳数不变若有两个以上的支链呢?如-C-C-C-C-C 2020-12-06 …