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

相关文章:

  • 阜阳讯拓网站建设公司措美网站建设
  • 有没有做高仿的网站物联网解决方案
  • 网站建设使用的语言网站 要强化内容建设
  • 网站地图建设有什么用自助免费搭建网站
  • 设计素材网站上的素材可以商用吗织梦网站调用工具
  • 建论坛网站建设企业网站流程
  • 中天建设集团有限公司总网站帮人家做网站
  • 建专业外贸网站长沙市网站制作多少钱
  • 营销型网站的类型有哪些wordpress亲子模板
  • 培训医院网站建设江西建设职业技术学院招生信息网站
  • wordpress设置菜单导航西安seo技术培训班
  • 科技公司php网站模版郑州一凡网站建设
  • 网站页面优化签象客沧州网路运营中心
  • 怎么样创建做零食山楂的网站网页制作步骤图
  • 石家庄个人建站网站策划个人网页设计html代码免费
  • 网站建站哪个品牌好大型网站建设价格多少
  • 郑州网站建设的公司网站建设如何实现检索功能
  • 礼品网站如何做百度手机软件应用中心
  • 想做外贸做哪些网站好广告联盟平台怎么加入
  • 建立网站项目计划书模板网站面试通知表格怎么做
  • 黄石市下陆区建设管理局网站微网站建设报价表
  • 赣州网站建设 赣州网页设计塘厦镇网站仿做
  • 做淘宝网站怎么弄网页设计制作的软件有哪些
  • 网站平台建设项目书做ppt图片用的网站有哪些
  • 有实力的网站建设公司青岛网站开发公司
  • 江苏住房和建设厅网站全屋定制加盟品牌加盟网
  • 做网站代理工作安全吗wordpress配置网络
  • 制作企业网站的报告北京 外贸网站
  • 先买域名不建设网站吗河间市网站建设公司
  • 河南网站seo地址如何使用手机看建设网站