求数据结构 栈和队列的基本操作的编程

1.实现顺序栈的基本操作,基本操作包括:初始化,判断栈空、判断栈满、入栈、出栈。2.实现链式栈的基本操作,基本操作包括:初始化,判断栈空、判断栈满、入栈、出栈。3.实现循... 1. 实现顺序栈的基本操作,基本操作包括:初始化,判断栈空、判断栈满、入栈、出栈。
2. 实现链式栈的基本操作,基本操作包括:初始化,判断栈空、判断栈满、入栈、出栈。
3. 实现循环队列的基本操作,基本操作包括:初始化,判断队空、判断队满、入队、出队。
4. 实现链式队列的基本操作,基本操作包括:初始化,判断队空、判断队满、入队、出队。
用c语言(vc)来做
展开
 我来答
164zsq
2011-12-07 · TA获得超过467个赞
知道小有建树答主
回答量:486
采纳率:0%
帮助的人:442万
展开全部
顺序栈代码如下
#pragma once
template<class T>
class SqStack
{
public:
SqStack(int m);
~SqStack();
void Clear();
bool IsEmpty()const;
int Length()const;
T& Top()const;
void Push(const T& e);
void Pop();
private:
T* m_base;
int m_top;
int m_size;
};

template<class T>
SqStack<T>::SqStack(int m)
{
m_top=0;
m_base=new T[m];
m_size=m;
}
template<class T>
SqStack<T>::~SqStack()
{
if(m_base!=NULL)
delete[] m_base;
}
template<class T>
void SqStack<T>::Clear()
{
m_top=0;
}
template<class T>
bool SqStack<T>::IsEmpty()const
{
return m_top==0;
}
template<class T>
int SqStack<T>::Length()const
{
return m_top;
}
template<class T>
T& SqStack<T>::Top()const
{
return m_base[m_top-1];
}
template<class T>
void SqStack<T>::Push(const T& e)
{
if(m_top>=m_size)
{
T* newbase;
newbase=new T[m_size+10];
for(int j=0;j<m_top;j++)
newbase[j]=m_base[j];
delete[] m_base;
m_base=newbase;
m_size+=10;
}
m_base[m_top++]=e;
}
template<class T>
void SqStack<T>::Pop()
{
m_top--;
}

#include<iostream>
#include"SqStack.h"

using namespace std;

int main()
{
SqStack<int> sq(5);
if(sq.IsEmpty())
cout<<"Now the stack is empty,its length is "<<sq.Length()<<endl;
cout<<"input the number you want to push into the stack:"<<endl;
int n,number;
cin>>n;
cout<<"input "<<n<<" numbers into the stack"<<endl;
for(int i=0;i<n;i++)
{
cin>>number;
sq.Push(number);
}
cout<<"Now the length is "<<sq.Length()<<endl;
cout<<"the top elememt is "<<sq.Top()<<endl;
sq.Pop();
cout<<"after popping a element,length is "<<sq.Length()<<endl;
cout<<"Now the top element is "<<sq.Top()<<endl;
sq.Clear();
cout<<"after clearing the stack,length is "<<sq.Length()<<endl;
cout<<"Good job!"<<endl;
system("pause");
return 0;
}
更多追问追答
追问
谢谢了!!能用c++做么
追答
这不就是C++吗
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式