当前位置: 首页 > backend >正文

C++数组栈与链表栈

数组栈

#include <iostream>
using namespace std;
class mystack{
private:int dat[1000];int curr=0;
public:void push(int);void pop();int top();bool empyt();int size();
};
void mystack::push(int b){if(curr<1000){dat[curr]=b;curr++;}
}
void mystack::pop(){if(curr>=0){curr--;}
}
int mystack::top(){if(!empyt())return dat[curr-1];else return -2147483648;
}
bool mystack::empyt(){if(curr==0){return 1;}return 0;
}
int mystack::size(){return curr;
}
int main(){mystack a;a.push(5);a.push(10);cout<<a.top()<<endl;a.pop();cout<<a.top()<<endl;cout<<a.empyt()<<endl;return 0;
}

链表栈

#include <iostream>
using namespace std;
struct node{int dat;node* next;
};
class mystack{
private:node *root=new node;node *p =root;node *curr;
public:void reset();void push(int);void pop();int top();bool empyt();int size();
};
void mystack::reset(){p->next=NULL;
}
void mystack::push(int b){p->next=new node;p->next->dat=b;p=p->next;p->next=NULL;
}
void mystack::pop(){if(p!=root){curr=p;p=root;while(p->next!=curr){p=p->next;}delete curr;p->next=NULL;}
}
int mystack::top(){if(!empyt()){curr=root;while(curr->next!=NULL){curr=curr->next;}return curr->dat;}else return -2147483648;
}
bool mystack::empyt(){if(p==root){return 1;}return 0;
}
int mystack::size(){int num=0;curr=root;while(curr->next!=NULL){curr=curr->next;num++;}return num;
}
int main(){mystack a;a.reset();a.push(5);a.push(10);cout<<a.top()<<endl;a.pop();cout<<a.top()<<endl;cout<<a.empyt()<<endl;a.pop();cout<<a.empyt()<<endl;return 0;
}

 

http://www.xdnf.cn/news/680.html

相关文章:

  • 软考高级系统架构设计师-第16章 数学与经济管理
  • 切换 Python 版本(配置path方式,含trae)
  • 一个最简单的 Model Context Protocol 的例子
  • Halcon应用:相机标定
  • C++入门篇(下)
  • 线性DP:最长上升子序列(可不连续,数组必须连续)
  • Matlab 复合模糊PID
  • NumPy:数值计算基础与高性能数组操作
  • 如何使用人工智能大模型,免费快速写工作总结?
  • Linux基础指令 补充(自用)
  • 【微知】服务器如何获取服务器的SN序列号信息?(dmidecode -t 1)
  • Origin将双Y轴柱状图升级为双向分组柱状图
  • 二、在springboot 中使用 AIService
  • 【JAVA EE初阶】多线程(1)
  • 代码随想录算法训练营第五十三天 | 105.有向图的完全可达性 106.岛屿的周长
  • 如何轻松实现用户充值系统的API自动化测试
  • QML、Qt Quick 、Qt Quick Controls 2
  • 如何成为Prompt工程师:学习路径、核心技能与职业发展
  • STM32时钟树
  • 微信小程序中使用h5页面预览图片、视频、pdf文件
  • PHP伪协议读取文件
  • Matlab 步进电机传递函数模糊pid
  • langchain-nextjs-template 模板安装与配置
  • 【文献阅读】EndoNet A Deep Architecture for Recognition Tasks on Laparoscopic Videos
  • 【MRAG】使用RAG技术增强AI回复的实时性和准确性
  • Android Kotlin AIDL 完整实现与优化指南
  • Leetcode 3524. Find X Value of Array I
  • 9、Hooks:现代魔法咒语集——React 19 核心Hooks
  • 山东大学软件学院项目实训-基于大模型的模拟面试系统-Token过期重定向问题
  • 代码随想录算法训练营第三十五天|416. 分割等和子集、698.划分为k个相等的子集、473.火柴拼正方形