博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
栈的顺序存储
阅读量:6674 次
发布时间:2019-06-25

本文共 2499 字,大约阅读时间需要 8 分钟。

在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

** interface IList
{ bool IsEmpty(); int GetLength(); void Push(T elem); void Pop(); T peek(); void Clear(); void Traverse(); }**
class Stack
: IList
{ private T[] data; private int maxSize; private int top; private int under; public Stack(int maxSize) { this.maxSize = maxSize; data=new T[maxSize]; top = under = 0; }

在这里插入代码片

public void Clear()        {            data = null;            top = 0;          }

在这里插入代码片

public int GetLength()        {            return top - under;        }

在这里插入代码片

public bool IsEmpty()        {            return top == under;        }        //获取数据不删除        public T peek()        {            int temp = top;            if (temp==under)            {                throw new Exception("空栈取不了数据");            }                       return data[temp-1];        }

在这里插入代码片

public void Pop()        {            //判断栈是否为空            //获取栈顶元素            //top--                       if (top == under)            {                throw new Exception("空栈遍历不了");            }            top--;        }

在这里插入代码片

在这里插入图片描述

public void Push(T elem)        {            //判断栈是否已满            //元素压栈            //栈顶加一            if (top-under>maxSize)            {                throw new OutOfMemoryException();            }            data[top] = elem;            top++;        }        //遍历        public void Traverse()        {            int temp = top;            if (top==under)            {                throw new Exception("空栈遍历不了");                    }            while (temp>0)            {                temp--;                Console.Write(data[temp]+"  ");            }        }    }
class Program    {        static void Main(string[] args)        {            Stack
sum=new Stack
(10); Console.WriteLine(sum.IsEmpty()); Console.WriteLine(sum.GetLength()); sum.Push(0); sum.Push(1); sum.Push(2); sum.Push(3); sum.Push(4); sum.Push(5); sum.Push(6); sum.Push(7); Console.WriteLine("sum.peek:"+sum.peek()); Console.WriteLine(sum.GetLength()); sum.Traverse(); Console.WriteLine(); sum.Pop(); sum.Pop(); Console.WriteLine("sum.GetLength" + sum.GetLength()); sum.Traverse(); Console.ReadKey(); } }

转载地址:http://tdrxo.baihongyu.com/

你可能感兴趣的文章
volley7--NetworkDispatcher从网络中获取数据
查看>>
git和GItHub的区别
查看>>
ftp服务器搭建流程详解
查看>>
C#面向对象(四):其他面向对象知识
查看>>
bzoj2539
查看>>
My thoughts after NOIP 2018(1)
查看>>
烂泥:学习Nagios(二):Nagios配置
查看>>
模拟实现 百度翻译 右下方的可折叠的分享按钮列表
查看>>
天降祥瑞,搬家来到cnblogs
查看>>
360 2015校园招聘 第一题
查看>>
Git上传代码的步骤
查看>>
sass基础常用指南
查看>>
数学 Codeforces Round #282 (Div. 2) B. Modular Equations
查看>>
select2清除选择(选择框内的值)
查看>>
超链接的学习与运用
查看>>
create-react-app按需引入antd-mobile
查看>>
webpack打包器
查看>>
车间不可操作非车间仓
查看>>
“亚信科技杯”南邮第七届大学生程序设计竞赛之网络预赛 G Prime [ 容斥原理 + 数论 + 求约数 + 素数筛 ]...
查看>>
【转载】cocos2d-x-3.0beta on android 打包错误问题
查看>>