首页 > 其他分享 >数据结构笔记4 栈

数据结构笔记4 栈

时间:2023-03-22 12:07:34浏览次数:44  
标签:object 笔记 initialCapacity new array 数据结构 public size


栈的定义和概念


栈(Stack)是限制仅在表的一端进行插入和删除运算的线性表。
  ( 1 )通常称插入、删除的这一端为栈顶(Top),另一端称为栈底(Bottom)。
  ( 2 )当表中没有元素时称为空栈。
  ( 3 )栈为后进先出(Last In First Out)的线性表,简称为LIFO表。
     栈的修改是按后进先出的原则进行。每次删除(退栈)的总是当前栈中 " 最新 " 的元素,即最后插入(进栈)的元素,而最先插入的是被放在栈的底部,要到最后才能删除。


 


栈在C#中的代码实现

using  System;

namespace EveryDayStudy.数据结构
{
public class DAPStack
{
private object [] _array;
private const int _defaultCapacity = 10 ;
private int _size;

public DAPStack()
{
_array = new object [_defaultCapacity];
_size = 0 ;
}

public DAPStack( int initialCapacity)
{
if (initialCapacity < 0 )
{
throw new ArgumentOutOfRangeException( " 栈空间不能小于零 " );
}
if (initialCapacity < _defaultCapacity)
{
initialCapacity = _defaultCapacity;
}

_array = new object [initialCapacity];
_size = 0 ;
}

public virtual object Pop()
{
if (_size == 0 )
{
throw new InvalidOperationException( " 栈内已经没有数据了。 " );
}
object obj2 = _array[ -- this ._size];
_array[_size] = null ;
return obj2;
}

public virtual void Push( object obj)
{
if (_size == _array.Length)
{
object [] destinationArray = new object [ 2 * _array.Length];
_array = destinationArray;
}
_array[_size ++ ] = obj;
}

public virtual int Count
{
get
{
return _size;
}
}

}
}


  其他

其他的好像没有什么好主意的了,大概是因为栈这个结构在我们上学的时候接触的太多了,还是这个栈本来就好理解吧。

其他的就不说了,这么晚了用本本蹭别人家的无线用写的。呵呵,有问题再改吧,等会睡觉的,明儿还上班的呢

标签:object,笔记,initialCapacity,new,array,数据结构,public,size
From: https://blog.51cto.com/dupeng0811/6142339

相关文章

  • 使用Jieba分词学习PaddleNLP(学习笔记)
    最近疫情肆虐,实现了我在家办公的愿望,也有更多的时间学习了,于是我参加百度深度学习集训营,刚刚接触新领域,以下是我整理的学习笔记,与大家分享:首先是此次的作业帖:​​h......
  • MybatisPlus学习笔记
    MybatisPlus初始化创建boot项目的时候导入mysql的依赖,创建好以后在里边导入MybatisPlus的坐标(这个坐标包含和mybatis的相关坐标和spring整合mybatis的相关坐标,所以自......
  • 性能测试技术笔记(三):如何设计一个压测平台
    转载:https://www.cnblogs.com/imyalost/p/17031603.html前面两篇笔记介绍了如何快速上手压测项目以及压测前准备测试环境和测试数据的一些方法。这篇文章,我想分享下关于......
  • log数据结构乱做
    SPOJGSS系列这个系列题目内容以维护区间最大子段和为主线。维护这个一般需要维护区间和,区间最大前缀,区间最大后缀,区间最大子段和四个信息。使用结构体封装和重载运算符可......
  • 笔记-应用向量自回归模型脉冲效应函数的注意事项
    计量经济模型Econometricmodels2022-07-2718:51发表于江苏https://mp.weixin.qq.com/s/_ZVeVySe319Ap4UvvmnHWA向量自回归模型,VectorAutoregressionModels,VAR,......
  • 3/21人月神话读书笔记
    作为开章第一篇,就先来说说为什么“人月”是“神话”。小学的时候我们都做过这样的应用题:“工厂需要加工一批零件,安排5名工人的话需要10小时完成,那么安排25名工人加工,多少......
  • Django笔记四之字段属性
    这篇笔记介绍的fieldoptions,也就是字段的选项属性。首先,关于model,是数据库与python代码里的一个映射关系,每一个model是django.db.models.Model的一个子类。mode......
  • 数据结构算法学习前言
    数据结构算法学习写在前面:今天是2023-03-21,上一次接触算法是在公司导师的带领下,学习了数据结构算法,他一题一题讲给我的,但是当时却不太争气,并没有掌握太多,由于这段时间......
  • jenkins学习笔记之十五:SonarSQube API使用
    本章主要通过SonarSQubeAPI在pipeline第一次执行时就指定自定义的质量配置和质量阈API 文档:http://192.168.1.134:9000/web_api一、编写sonarAPI(sonarapi.groovy)注......
  • 牛客挑战赛67 B数据结构
    牛客挑战赛67B数据结构你有一个长度为n的字符串,其中包含'0','1','2'三种字符。问字符串中有多少个字串满足'0','1','2'三种字符数量相等。\(1<=n<=3e5\)一开始想了......