西安交通大学:《计算机软件基础》线性数据结构(二)(仇国巍)

软件技术基础 线性数据结构(二) 主讲:仇国巍 西安交通大学计算机教学实验中心
线性数据结构(二) 软件技术基础 主讲:仇国巍 西安交通大学计算机教学实验中心

教学内廖及要求 内容:栈、队列、数组、串的 有关概念 逻辑结构及特点 存储结构 有关操作 要求:熟练掌握上述内容及有关操作的算法 实现。 2021年2月24日 2
2021年2月24日 2 教学内容及要求 内容:栈、队列、数组、串的 ◼ 有关概念 ◼ 逻辑结构及特点 ◼ 存储结构 ◼ 有关操作 要求:熟练掌握上述内容及有关操作的算法 实现

本讲涉误本内容 第1章的 1.3栈和队列(P32-P46) 1.4串和数组(P47-P55) 2021年2月24日 3
2021年2月24日 3 第1章的 ◼ 1.3 栈和队列 (P32 - P46) ◼ 1.4 串和数组 (P47 - P55) 本讲涉及课本内容

栈结构 栈的定义 ■栈的顺序存储结构 栈的基本运算 多栈共享问题 ■栈的链式存储结构 栈的应用 2021年2月24日
2021年2月24日 4 ◼ 栈的定义 ◼ 栈的顺序存储结构 ◼ 栈的基本运算 ◼ 多栈共享问题 ◼ 栈的链式存储结构 ◼ 栈的应用 一、栈结构

1.1的定义 栈是只允许在同一端进行插入和删除操作 的特殊线性表。允许进行插入和删除操作的 端称为栈页(top),另一端为栈底( bottom); 栈底固定,而栈顶浮动;栈结构也称为后进先 出表(LIF0)。 栈中元素个数为零时称为空栈 2021年2月24日
2021年2月24日 5 栈是只允许在同一端进行插入和删除操作 的特殊线性表。允许进行插入和删除操作的一 端称为栈顶(top),另一端为栈底(bottom); 栈底固定,而栈顶浮动;栈结构也称为后进先 出表(LIFO)。 栈中元素个数为零时称为空栈。 1.1 栈的定义

1.2花的颁序存储结构 ■栈的顺序存储结构实际上是一维数组结构。 这种栈又称为—顺序栈。 ■栈的操作只能在一端进行;即栈顶位置随进 栈和出栈而变化。 顺序栈的C语言描述为: #define maXsize 200 int stackMAXSIZE: int top =-1 2021年2月24日
2021年2月24日 6 1.2 栈的顺序存储结构 ◼ 栈的顺序存储结构实际上是一维数组结构。 ◼ 这种栈又称为——顺序栈。 ◼ 栈的操作只能在一端进行;即栈顶位置随进 栈和出栈而变化。 ◼ 顺序栈的C语言描述为: #define MAXSIZE 200 int stack[MAXSIZE]; int top = -1;

栈顶指针 ■栈顶指针:在栈操作过程中,有一个专 门的栈指针(习惯上称它为TOP),指出 栈顶元素所在的位置 ■栈空的条件:top=-1 ■栈满的条件:top=MAXS|ZE-1 2021年2月24日
2021年2月24日 7 栈顶指针 ◼ 栈顶指针:在栈操作过程中,有一个专 门的栈指针(习惯上称它为TOP),指出 栈顶元素所在的位置。 ◼ 栈空的条件: top = -1 ◼ 栈满的条件: top = MAXSIZE-1

1.3栈操作举例 TOP a1 a 2 a MAXSIZE 栈底 栈顶 2.AB C top=-1(空栈) top-3(A、B、C进栈) 3.AB 4.AIBICIDEF top=2 (C出栈) top= MAXSIZE-1/(钱满) 2021年2月24日
2021年2月24日 8 a1 a2 …… an 栈底 栈顶 MAXSIZE TOP 1. top = -1 2. A B C (空栈) top=3 (A、B、C进栈) 3. A B top=2 (C出栈) 4. A B C D E F top=MAXSIZE-1 (栈满) 1.3 栈操作举例

栈溢出 栈上溢:栈空间是有限的,若栈已满, 在进行入栈操作时,就要产生上溢。 栈下溢:若栈空,再要执行出栈操作, 则会发生下溢。 2021年2月24日
2021年2月24日 9 栈上溢:栈空间是有限的,若栈已满, 在进行入栈操作时,就要产生上溢。 栈下溢:若栈空,再要执行出栈操作, 则会发生下溢。 栈溢出

1.4花的基本运募 ■进栈操作(插入)Push( Stack,x) 出栈操作(删除)Pop( Stack) 取栈顶元素Getp( Stack) 置栈为空 Setnull( stack 判定栈是否为空 Empty( Stack) 2021年2月24日
2021年2月24日 10 ◼ 进栈操作(插入) Push(Stack,x) ◼ 出栈操作(删除)Pop(Stack) ◼ 取栈顶元素 Gettop(Stack) ◼ 置栈为空 Setnull(Stack) ◼ 判定栈是否为空 Empty(Stack) 1.4 栈的基本运算
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 西安交通大学:《计算机软件基础》第1单元 概述.ppt
- 西安交通大学:《计算机软件基础》第17单元 面向对象方法(赵英良).ppt
- 西安交通大学:《计算机软件基础》第13讲 数据库设计基础和SQL语言.ppt
- 西安交通大学:《计算机软件基础》第16单元 传统程序设计方法.ppt
- 西安交通大学:《计算机软件基础》第15单元 软件工程概论(赵英良).ppt
- 西安交通大学:《计算机软件基础》第11单元 数据库——数据库概述.ppt
- 西安交通大学:《计算机软件基础》第12单元 关系数据库及数学基础.ppt
- 西安交通大学:《计算机软件基础》第5单元 非线性数据结构.ppt
- 西安交通大学:《计算机软件基础》第7单元 排序.ppt
- 西安交通大学:《计算机软件基础》第9单元 操作系统的存储器管理和设备管理.ppt
- 西安交通大学:《计算机软件基础》第8单元 操作系统基础(赵英良).ppt
- 西安交通大学:《计算机软件基础》第6单元 查找.ppt
- 西安交通大学:《计算机软件基础》第4单元 非线性数据结构——树、二叉树(递归结构).ppt
- 西安交通大学:《计算机软件基础》第3单元 线性数据结构 (二).ppt
- 西安交通大学:《计算机软件基础》第1单元 软件概述.ppt
- 西南交通大学:《数据库原理与技术》第三章 关系数据库系统RDBS.ppt
- 西南交通大学:《数据库原理与技术》第一章 数据库系统概述.ppt
- 西南交通大学:《数据库原理与技术》第五章 数据库安全性.ppt
- 西南交通大学:《数据库原理与技术》第四章 SQL结构化查询语言.ppt
- 福州大学:《数据结构》课程教学资源(试卷习题)硕数2001.doc
- 西安交通大学:《计算机软件基础》第4单元 非线性数据结构树、二叉树.ppt
- 西安交通大学:《计算机软件基础》第7单元 排序(刘志强).ppt
- 西安交通大学:《计算机软件基础》第5单元 非线性数据结构图.ppt
- 西安交通大学:《计算机软件基础》第8单元 操作系统基础(刘志强).ppt
- 西安交通大学:《计算机软件基础》第6单元 查找.ppt
- 西安交通大学:《计算机软件基础》第9单元 存储器与设备管理.ppt
- 西安交通大学:《计算机软件基础》第12单元 关系数据库及数学基础.ppt
- 西安交通大学:《计算机软件基础》第10单元 典型OS平台下编程模式.ppt
- 西安交通大学:《计算机软件基础》第15单元 软件工程概论.ppt
- 西安交通大学:《计算机软件基础》第14单元 Access提高(刘志强).ppt
- 西安交通大学:《计算机软件基础》第17单元 面向对象方法.ppt
- 西安交通大学:《计算机软件基础》第13单元 Access入门.ppt
- 西安交通大学:《计算机软件基础》关系型数据库标准语言—SQL.ppt
- 西安交通大学:《计算机软件基础》第11单元 数据库_1 数据库概述.ppt
- 西安交通大学:《计算机软件基础》第16单元 传统程序设计方法.ppt
- 北京大学:《计算机图形学》第三讲 一个简单的二维光栅图形软件包.ppt
- 北京大学:《计算机图形学》第四讲 二维图元生成算法.ppt
- 北京大学:《计算机图形学》第五讲 二维裁剪.ppt
- 北京大学:《计算机图形学》第六讲 图形变换.ppt
- 北京大学:《计算机图形学》第七讲 图形用户界面与人机交互.ppt