早教吧 育儿知识 作业答案 考试题库 百科 知识分享

用MFC做栈类模板的设计与实现进行栈类模板的设计并实现,栈采用链式存储结构,数据元素可以是char,int,float等多种数据类型,包括以下功能:(1)实现初始化栈操作,建立一个空栈;(

题目详情
用MFC做栈类模板的设计与实现
进行栈类模板的设计并实现,栈采用链式存储结构,数据元素可以是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做栈类模板的设计与实...的网友还看了以下:

韩信“明修栈道”实际上却………………………………………………………………………….  2020-04-25 …

若一个栈初始为空,其输入序列是1,2,3…,n-l,n.其输出序列的第一个元素为 k (l≤k≤[n  2020-05-26 …

清初一位文人吟诗抒怀:“清风不识字,何故乱翻书?”结果,该文人被朝廷定罪问斩。这反映了清初实行[]  2020-06-19 …

给定一棵用链表表示的二叉树,其根结点指针为t,编写求二叉树的叶子数目的算法。算法思想:可以用一个指  2020-06-28 …

西汉初年,朝廷规定商人不得衣丝乘车。同时,商人赋税加倍,即“重租税以困辱之”。这表明汉初实行()A  2020-07-03 …

《汉书》记载:“汉兴之初,海内新定,同姓寡少,惩戒亡秦孤立之败,于是剖裂疆土,立二等之爵”。这说明  2020-07-12 …

唐初实行租庸调制和中期实行两税法的相同实质是A.增加政府财政收入的手段B.缓和阶级矛盾的手段C.对农  2020-11-06 …

“汉承秦制,有所损益”意思是汉朝不但继承了秦朝的政治制度,并在此基础上也进行了创新。下列措施符合此观  2020-12-02 …

编写一个函数,给定两个整数(被除数和除数),计算二者的商和余数.由于整数不能除0,该函数的返回值.i  2020-12-08 …

据记载清初实施海禁前”市井贸易……“据记载,清初实施海禁前,“市井贸易,国有外国货物,民间行使多以外  2020-12-29 …