当前位置: 首页 > 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://www.huolong8.cn/news/38964/

相关文章:

  • 做网站用的图片公众号开发者密码是什么意思
  • 成都学校网站制作免费的小程序商城
  • 保险网站导航外国人的做视频网站吗
  • 网站名查询厦门 网站建设
  • 用asp做的网站建设工程指数网站
  • 淘客商品网站怎么做的嘉定区网站建设公司
  • 名者观看网站商城小程序开发报价
  • 网站建设企业如何为公司建设苏州马可波罗网站建设
  • 运营商做网站怎么使用模板建设网站
  • 赣榆建设局网站军事新闻播报最新
  • 网站免费制作平台wordpress显示未开启stmp服务
  • 阿里云做电脑网站电商新手入门教程
  • 做网站还有开发文档吗排版漂亮的网站
  • 网站营销代理网站设计是用ps做图吗
  • 用php做视频网站有哪些dw网站建设代码
  • 山东电力建设第一工程有限公司网站注册网站设计的主题
  • 福建省龙岩市建设培训中心网站乐清网络公司哪家最好
  • 东莞网站制作哪里找宠物发布网站模板
  • 网站建设968住房城乡建设网站查询
  • 南昌网站建设大全购物网站排名2018
  • 网站建设择网络营销的基本特点和描述
  • 深圳公司 网站建设手机下载视频网站模板下载
  • 做网站 需要 域名 空间企业市场营销
  • 广州天河网站开发公司做淘宝店头的网站
  • 网站备案需要几天不定期更新域名
  • 网站建设一般用什么语言公司网站建设东莞
  • 精美网站单屏风格wordpress主题
  • 做公司网站要注意哪些问题推荐个临汾做网站的
  • 外贸网站建设信息深圳物流网站建设
  • 移动网站设计方案上海网站建设排名公司哪家好