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

网站标题优化工具南通网站建设排名公司哪家好

网站标题优化工具,南通网站建设排名公司哪家好,官方网站营销,商务网站建设实训过程堆栈(Stack)最明显的特征就是“先进后出”#xff0c;本质上讲堆栈也是一种线性结构#xff0c;符合线性结构的基本特点#xff1a;即每个节点有且只有一个前驱节点和一个后续节点。 相对前面学习过的顺序表、链表不同的地方在于#xff1a;Stack把所有操作限制在只能…堆栈(Stack)最明显的特征就是“先进后出”本质上讲堆栈也是一种线性结构符合线性结构的基本特点即每个节点有且只有一个前驱节点和一个后续节点。 相对前面学习过的顺序表、链表不同的地方在于Stack把所有操作限制在只能在线性结构的某一端进行而不能在中间插入或删除元素。下面是示意图 从示意图中可以看出堆栈有二种实现方式基于数组的顺序堆栈实现、类似链表的链式堆栈实现 先抽象堆栈的接口IStack: namespace 栈与队列 {public interface IStackT{/// summary/// 返回堆栈的实际元素个数/// /summary/// returns/returnsint Count();/// summary/// 判断堆栈是否为空/// /summary/// returns/returnsbool IsEmpty();/// summary/// 清空堆栈里的元素/// /summaryvoid Clear();/// summary/// 入栈将元素压入堆栈中/// /summary/// param nameitem/paramvoid Push(T item);/// summary/// 出栈从堆栈顶取一个元素并从堆栈中删除/// /summary/// returns/returnsT Pop();/// summary/// 取堆栈顶部的元素(但不删除)/// /summary/// returns/returnsT Peek();} }顺序堆栈(SeqStack)的实现 using System; using System.Text;namespace 栈与队列 {public class SeqStackT:IStackT{private int maxsize;private T[] data;private int top; public SeqStack(int size) {data new T[size];maxsize size;top -1;}#region //接口实现部分public int Count() {return top 1;}public void Clear() {top -1;}public bool IsEmpty() {return top -1;}public void Push(T item){if (IsFull()){Console.WriteLine(Stack is full);return;}data[top] item;}public T Pop(){T tmp default(T);if (IsEmpty()){Console.WriteLine(Stack is empty);return tmp;}tmp data[top];top--;return tmp;}public T Peek(){if (IsEmpty()){Console.WriteLine(Stack is empty!);return default(T);}return data[top];}#endregionpublic bool IsFull() {return top maxsize - 1;}public override string ToString(){StringBuilder sb new StringBuilder();for (int i top;i0;i--){sb.Append(data[i] ,);}return sb.ToString().Trim(,);} } } 链式堆栈(LinkStack)的实现 先定义节点Node.cs namespace 栈与队列 {public class NodeT{private T data;private NodeT next;public Node(T data, NodeT next) {this.data data;this.next next;}public Node(NodeT next) {this.next next;this.data default(T);}public Node(T data) {this.data data;this.next null;}public Node() {this.data default(T);this.next null;}public T Data {get { return this.data; }set { this.data value; }}public NodeT Next {get { return next; }set { next value; }}} }下面是LinkStack.cs using System; using System.Text;namespace 栈与队列 {public class LinkStackT:IStackT{private NodeT top;private int num;//节点个数/// summary/// 顶部节点/// /summarypublic NodeT Top {get { return top; }set { top value; }}public LinkStack() {top null;num 0;}public int Count() {return num;}public void Clear() {top null;num 0;}public bool IsEmpty() {if (top null num 0){return true;}else {return false;}}public void Push(T item) {NodeT q new NodeT(item);if (top null){top q;}else {q.Next top;top q;}num;}public T Pop() {if (IsEmpty()) {Console.WriteLine(Stack is empty!);return default(T);}NodeT p top;top top.Next;num--;return p.Data;}public T Peek() {if (IsEmpty()) {Console.WriteLine(Stack is empty!);return default(T);}return top.Data;}public override string ToString(){StringBuilder sb new StringBuilder();if (top ! null) {sb.Append(top.Data.ToString() ,);NodeT p top;while (p.Next ! null){ sb.Append(p.Next.Data.ToString() ,);p p.Next;}}return sb.ToString();}} }测试代码片段 Console.WriteLine(顺序堆栈测试开始...);SeqStackint seqStack new SeqStackint(10);seqStack.Push(1);seqStack.Push(2);seqStack.Push(3);Console.WriteLine(seqStack);Console.WriteLine(seqStack.Peek());Console.WriteLine(seqStack);Console.WriteLine(seqStack.Pop());Console.WriteLine(seqStack);Console.WriteLine(链堆栈测试开始...);LinkStackint linkStack new LinkStackint();linkStack.Push(1);linkStack.Push(2);linkStack.Push(3);Console.WriteLine(linkStack);Console.WriteLine(linkStack.Peek());Console.WriteLine(linkStack);Console.WriteLine(linkStack.Pop());Console.WriteLine(linkStack);Console.ReadLine();.Net中System.Collections.Generic.StackT已经提供了堆栈的基本实现明白原理后仍然推荐大家使用内置的实现。转载于:https://www.cnblogs.com/yjmyzz/archive/2010/10/30/1865212.html
http://wiki.neutronadmin.com/news/38964/

相关文章:

  • 网站建设费用归类装修公司免费装修
  • 农业建设信息网站济宁北湖建设局网站
  • 富连网网站开发网站被k怎么
  • 网站的静态页面用什么做营销型网站建设服务商
  • 做电影网站有什么流媒体好网站没有收录
  • 网站开发毕业答辩演讲稿范文阳朔到桂林大巴时刻表
  • ui自学网站免费无代码开发平台排行榜
  • 自己做网站 套模板android最新版本下载
  • 地方商城网站wordpress 不用主题
  • 物业网站模板下载网站 不稳定
  • 如何建设旅游网站狮城app更多网站
  • 返利导购网站建设需求文档wordpress登录不进去
  • 林州网站制作公司专业网站建设
  • 亚马逊网站的建设和维护wordpress怎么适应手机端
  • 太平保险网站wordpress 插件漏洞复现
  • 银川网站建设哪家便宜网页制作网站建设
  • 用什么软件做网站原型敦煌网跨境电商平台
  • 公司网站打不开怎么办谷歌服务器
  • 织梦网站自助申请友链代码做电影网站服务器
  • 公司网站建设办法昆明网站排名优化公司哪家好
  • 网站代码检查湛江网站建设电话
  • 网页设计制作网站代码html做网站新闻编辑
  • 怎么做兼职类网站吗专业的网站设计公司
  • 教育信息化建设网站注册装修公司要多少钱才能注册
  • 如何做期货培训网站长沙外贸建站
  • 免费做ppt的网站有哪些小规模企业所得税怎么算
  • 专业的网站建设哪家快专业简章
  • 小游戏网站建设公司网站集约化建设调研报告
  • 好上手的做海报网站石家庄网站设计网站维护
  • 有没有那个的网站网站黑链 工具