开源 企业版 高校版 私有云 模力方舟 AI 队友
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
1 Star 0 Fork 0

macroan/stack

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
已有帐号? 立即登录
文件
master
分支 (1)
master
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
项目仓库所选许可证以仓库主分支所使用许可证为准
master
分支 (1)
master
克隆/下载
克隆/下载
提示
下载代码请复制以下命令到终端执行
为确保你提交的代码身份被 Gitee 正确识别,请执行以下命令完成配置
初次使用 SSH 协议进行代码克隆、推送等操作时,需按下述提示完成 SSH 配置
1 生成 RSA 密钥
2 获取 RSA 公钥内容,并配置到 SSH公钥
在 Gitee 上使用 SVN,请访问 使用指南
使用 HTTPS 协议时,命令行会出现如下账号密码验证步骤。基于安全考虑,Gitee 建议 配置并使用私人令牌 替代登录密码进行克隆、推送等操作
Username for 'https://gitee.com': userName
Password for 'https://userName@gitee.com': # 私人令牌
master
分支 (1)
master
stack
/
LinkStack.cpp
stack
/
LinkStack.cpp
LinkStack.cpp 2.04 KB
一键复制 编辑 原始数据 按行查看 历史
macroan 提交于 2018年04月18日 13:20 +08:00 . 新建 LinkStack.cpp
// vptr.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
using namespace std;
template <typename T>
struct Node
{
T data;
Node<T> *next;
};
template <typename T>
class LinkStack
{
public:
LinkStack(int size);
~LinkStack();
bool isEmpty();
bool isFull();
int getCount();
int getSize();
T top();
T pop();
bool push(T data);
private:
Node<T> *ptop;
int size;
int count;
};
template <typename T>
LinkStack<T>::LinkStack(int size)
{
count = 0;
this->size = size;
ptop = NULL;
}
template <typename T>
LinkStack<T>::~LinkStack()
{
if(ptop)
delete ptop;
ptop = NULL;
}
template <typename T>
int LinkStack<T>::getCount()
{
return count;
}
template <typename T>
int LinkStack<T>::getSize()
{
return size;
}
template <typename T>
bool LinkStack<T>::isEmpty()
{
return count == 0;
}
template <typename T>
bool LinkStack<T>::isFull()
{
return count == size;
}
template <typename T>
T LinkStack<T>::top()
{
if(!ptop)
return (T)-1;
return ptop->data;
}
template <typename T>
T LinkStack<T>::pop()
{
if ((!ptop) || (count == 0))
return (T)-1;
count--;
T d = ptop->data;
Node<T> *tmp = ptop;
ptop = ptop->next;
return d;
}
template <typename T>
bool LinkStack<T>::push(T data)
{
if(count == size)
return false;
Node<T> *newnode = new Node<T>();
newnode->data = data;
newnode->next = NULL;
if(ptop)
{
newnode->next = ptop;
ptop = newnode;
}
else
{
ptop = newnode;
}
count++;
return true;
}
int main(void) {
LinkStack<int> linkstack(10); ;
for(int i=0; i<10; i++)
{
linkstack.push(i);
}
cout<<"size:"<<linkstack.getCount()<<endl;
while(!linkstack.isEmpty())
{
printf("item = %d\n", linkstack.pop());
}
system("pause");
return 0;
}
Loading...
举报
举报成功
我们将于2个工作日内通过站内信反馈结果给你!
请认真填写举报原因,尽可能描述详细。
请选择举报类型
取消
发送
误判申诉

此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。

如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。

取消
提交

简介

顺序栈,链的实现
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
编辑仓库简介
简介内容
主页
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/macroan/stack.git
git@gitee.com:macroan/stack.git
macroan
stack
stack
master
点此查找更多帮助

搜索帮助

评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册

AltStyle によって変換されたページ (->オリジナル) /