2.3栈和队列 栈和队列是两种特殊的线性表,它们是运算时要 受到某些限制的线性表,故也称为限定性的数据 结构
2.3 栈和队列 栈和队列是两种特殊的线性表,它们是运算时要 受到某些限制的线性表,故也称为限定性的数据 结构
2.3.1栈 2.3.1.1栈的定义 栈:限定只能在表的一端进行插入和删除的特殊的线性表 设栈s=(a1a2, g ais 其中a1是栈底元素,an是栈顶元素 进栈出栈 栈顶 栈底
2.3.1 栈 2.3.1.1栈的定义 栈:限定只能在表的一端进行插入和删除的特殊的线性表 设栈s=(a1,a2,. . . ,ai,. . . ,an), 其中a1是栈底元素, an是栈顶元素。 a1 a2 …. an 进栈 出栈 栈顶 栈底
2.3.1栈 2.3.1.1栈的定义 栈:限定只能在表的一端进行插入和删除的特殊的线性表 设栈s=(a1a2, g ais 其中a1是栈底元素,an是栈顶元素 进栈出栈 栈顶(top):允许插入和删除的一端; 约定top始终指向新数据元素将存放的位置。栈顶an 栈底( bottom):不允许插入和删除的一端。 栈底
2.3.1 栈 2.3.1.1栈的定义 栈:限定只能在表的一端进行插入和删除的特殊的线性表 设栈s=(a1,a2,. . . ,ai,. . . ,an), 其中a1是栈底元素, an是栈顶元素。 栈顶(top):允许插入和删除的一端; 约定top始终指向新数据元素将存放的位置。 栈底(bottom):不允许插入和删除的一端。 a1 a2 …. an 进栈 出栈 栈顶 栈底
機數鲍顔算个顺槍戋的最大簪捶 stacks的婚态top=0 3,删除栈顶元素4读取栈项元素 S[4] 栈空 S[4」 10进栈 3 2 2 op 0 op 10 bas Top=0 stopEX e top=top+. S(41 S[4 top=4 3 op 340 2 30 30出栈230 栈满 25 25 0 10 ←bas 0 top=top-1 e 10 as x=s[top] top=stacksizee
栈中的运算:1.设置空栈 ; 2. 插入一个新的栈顶元素 3. 删除栈顶元素; 4. 读取栈顶元素 。 设数组S是一个顺序栈,栈的最大容量stacksize=4,初始状态top=0 10 S[4] 2 3 1 0 bas s[top]=x e top=top+1 top 10 25 30 S[4] 2 3 1 0 top bas top=top-1 e x=s[top] 栈空 10进栈 30出栈 S[4] 2 3 1 0 Top=0 top 栈满 top=stacksize 10 25 30 40 S[4] 2 3 1 0 top=4 bas e
2.3.1.2栈的存储结构 顺序栈、链栈 (1顺序栈: 用顺序存储结构表示的栈。 顺序栈用一组连续的存储单元存 放自栈底到栈顶的数据元素,一 般用一维数组表示,设置一个简 单变量top指示栈顶位置,称为栈 顶指针,它始终指向待插入元素 op 的位置
2.3.1.2栈的存储结构 顺序栈、链栈 a2 a1 a2 top (1)顺序栈: 用顺序存储结构表示的栈。 顺序栈用一组连续的存储单元存 放自栈底到栈顶的数据元素,一 般用一维数组表示,设置一个简 单变量top指示栈顶位置,称为栈 顶指针,它始终指向待插入元素 的位置