栈和队列

来源:互联网 发布:网络语违和是什么意思 编辑:程序博客网 时间:2024/04/28 06:54

通过学习第三章,让我认识了两个新概念,那就是“栈”和“队列”。下面让我给大家讲讲我的收获。

 栈和队列是两种常用的数据结构,同时又是操作受限的线性表,也是两种重要的抽象数据类型。

11栈是限定仅在表尾进行插入和删除操作的线性表。 栈中元素具有线性关系和后进先出的特性。

2虽然对插入和删除操作的位置限制减少了栈的灵活性,但同时也使得栈的操作更有效更容易实现。

3栈的存储结构分两种,一种是顺序存储结构,一种是链接存储结构。第一种称为顺序栈,由于栈元素的数据类型不确定,所以采用C++模板机制实现。第二种是链栈,链栈的结点结构可以复用单链表的结点结构,将栈的抽象数据类型定义在链栈存储结构下用C++中的类实现。

4当链栈跟顺序栈做比较时,若使用过程中元素个数变化较大时,用链栈最适宜,因为链栈没有栈满问题,只有当内存没有可用空间时才会出现栈满,但是每个元素都需要一个指针域,从而产生了结构性开销;反之,采用顺序栈,初始时顺序栈必须确定一个固定长度,所以又存储元素个数的限制和空间浪费问题。

2、1队列是只允许在一端进行插入操作,在另一端进行删除操作的线性表。队列中元素具有线性关系和先进先出的特性。

2队列的存储结构也分两种,一种是循环队列,另一种是链队列。队列元素数据类型不确定,所以采用C++模板机制实现。

3循环队列和链队列比较时,循环队列不能像顺序栈那样共享空间,通常不能在一个数组中存储两个循环队列,所以两者的比较与链栈和顺序栈的比较相类似。

4循环队列的实现包括五个步骤:构造函数、入队操作、出队操作、读取队头元素、判空操作;然而链队列的实现则有六个步骤:构造函数、入队操作、出队操作、读取队头元素、判空操作、析构函数。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 阿根廷认证出口声明成分错了怎么办 花盆土里面有白色的虫子怎么办 刚买的月季苗叶子黄了怎么办? 月季新出的芽中间黑了怎么办 龙须的茎被折断了怎么办? 扦插的月季跟部总发黑怎么办 用过皮炎平后的黑印怎么办 兰花现在不管王莽岭了员工怎么办 家里很穷妈妈还不知道省钱怎么办 执业医师电子注册信息弄错了怎么办 开过花后的百合花根怎么办 荔枝吃起来有股保鲜剂的味道怎么办 厂停产不宣布倒闭又不赔钱怎么办 二审判决生效后发现判错了怎么办 应收账款质押后附属的担保怎么办 房子借款合同和抵押合同丢了怎么办 离婚判决不服上诉期限过了怎么办 法院判完执行厅不执行怎么办 民事判决书下来又有新的证据怎么办 民事判决书下来欠钱没钱法院怎么办 法院笔录没看清就签字了怎么办 有人模仿自己笔迹在法院签字怎么办 房屋未签合同中介定金不退怎么办 临时摊位买的东西想退怎么办 租房合同签了房东不想租了怎么办 租房合同签了不想租了怎么办 租房合同刚签一天不想租怎么办 买二手房房东不交物业费怎么办 买二手房原房主欠物业费怎么办 客人将物品遗留在餐厅时怎么办 工程签合同了又别人来干怎么办? 超市储存柜东西忘拿了怎么办 普通异性朋友出去玩在外面住怎么办 古墓丽影崛起绳箭突然没有了怎么办 pp材质的水杯用开水烫了怎么办 手上长水泡很痒怎么办有什么药膏 烧伤后水泡破了周围都肿了怎么办 烧伤的水泡破了碰到水怎么办 浓硫酸沾到皮肤上应该怎么办 将浓硫酸沾到皮肤上怎么办 刷厕所的盐酸弄到皮肤上怎么办