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

沈阳酒店团购网站制作seo外链推广平台

沈阳酒店团购网站制作,seo外链推广平台,广州网站建设哪里好,中国百年建筑网官网c栈 栈代码用线性表实现栈用链表实现栈 栈 栈:先进后出 只对栈顶元素进行操作,包括新元素入栈、栈顶元素出栈和查看栈顶元素(只支持对栈顶的增、删、查)。 代码 下述代码实现了栈及其接口 包括对栈顶的增、删、查以及查看栈的大…

c++栈

    • 代码
      • 用线性表实现栈
      • 用链表实现栈

栈:先进后出
只对栈顶元素进行操作,包括新元素入栈、栈顶元素出栈和查看栈顶元素(只支持对栈顶的增、删、查)。

代码

下述代码实现了栈及其接口
包括对栈顶的增、删、查以及查看栈的大小

用线性表实现栈

#include <iostream>
using namespace std;template<typename T>class Stack{
private:T *data;int size;int capacity;void resize();public:Stack() : data(new T[capacity]),size(0),capacity(10){}~Stack();void push(T element);T pop();T top() const;int getSize() const;
};template<typename T>
void Stack<T>::resize(){int newCapacity = 2*capacity;T *newData = new T[newCapacity];for(int i = 0; i < size; i++){newData[i] = data[i];}delete[] data;data = newData;capacity = newCapacity;
}template<typename T>
Stack<T>::~Stack(){delete[] data;
}template<typename T>
void Stack<T>::push(T element){if(size == capacity){resize();}data[size++] = element;
}template<typename T>
T Stack<T>::pop(){if(size == 0){throw std::underflow_error("Stack is empty");}return data[--size];
}template<typename T>
T Stack<T>::top() const{if(size == 0){throw std::underflow_error("Stack is empty");}return data[size-1];
}template<typename T>
int Stack<T>::getSize() const{return size;
}
int main()
{Stack<int> st;st.push(1);st.push(2);st.push(3);cout << st.getSize() << endl;cout << st.top() << endl;st.pop();cout << st.getSize() << endl;cout << st.top() << endl;	return 0;
}

用链表实现栈

#include <iostream>
using namespace std;template<typename T>class Stack{
private:struct Node{T data;Node *next;Node(T d) : data(d),next(NULL){}};Node *head;int size;public:Stack() : head(NULL), size(0){}~Stack();void push(T element);T pop();T top() const;int getSize() const;
};template<typename T>
Stack<T>::~Stack(){while(head){Node *temp = head;head = head->next;delete temp;}
}template<typename T>
void Stack<T>::push(T element){Node *newNode = new Node(element);newNode->next = head;head = newNode;size++;
}template<typename T>
T Stack<T>::pop(){if(head == NULL){throw std::underflow_error("Stack is empty");}T result = head->data;Node *temp = head;head = head->next;delete temp;size--;return result;
}template<typename T>
T Stack<T>::top() const{if(head == NULL){throw std::underflow_error("Stack is empty");}return head->data;
}template<typename T>
int Stack<T>::getSize() const{return size;
}
int main()
{Stack<int> st;st.push(1);st.push(2);st.push(3);cout << st.getSize() << endl;cout << st.top() << endl;st.pop();cout << st.getSize() << endl;cout << st.top() << endl;	}

于 2024-01-26 第一次整理编写

学习时整理,不当之处烦请指正
码字不易,留个赞再走吧

http://www.hengruixuexiao.com/news/54534.html

相关文章:

  • 做网站的国标有哪些skr搜索引擎入口
  • 胶州建设工程信息网站网站是怎么做出来的
  • 智能建站代理站外推广方式
  • 有电脑网站怎样建手机青岛网站推广系统
  • wordpress手机站点百度网站app下载
  • 福州成人报考网站广州广告公司
  • 网站服务器租赁多少钱市场营销公司排名
  • 江苏南京建设局官方网站百度入口网页版
  • 怎么做二十八页美食网站好口碑关键词优化地址
  • 锦州网站建设排行榜seo优化招商
  • wordpress继续阅读插件南宁网站建设优化服务
  • 网站建设与管理总结心得南宁网站公司
  • 徐水区住房和城乡建设局网站关键词优化快速
  • 网站开发进阶实训报告搜索量排行
  • 建设银行网站图片大全b2b网站大全免费
  • 做网站代理拉不到人发新闻稿平台
  • 江门做网站seo诊断站长
  • 过年做哪些网站致富会员制营销
  • 郴州市做网站seo基础教程
  • 广州广告制作有限公司汕头seo网络推广
  • php网站建设案例教程高端定制网站建设公司
  • it网站开发公司erp123登录入口
  • 哪个网站做简历网络营销网站设计
  • 做网站时应该用什么软件企业网站管理
  • 新媒体运营的发展前景seo网站推广方案
  • 腾讯广告推广怎么做网站推广和精准seo
  • 网站建设论文的部首宁波网站建设公司哪家好
  • 建设门户网站优化是什么意思?
  • 做儿童网站成都网站建设方案托管
  • 韩国有哪些做潮牌的网站网站 推广