顺序栈数据结构与操作详解.pdfVIP

  • 0
  • 0
  • 约9千字
  • 约 14页
  • 2026-02-09 发布于北京
  • 举报

一、顺序栈

1、top为指针,top指向栈顶元素的下一位置

sqStacks;

(1)初始化:s.tops.base(2)空

栈:s.top==s.base(3)进栈

(Push):1赋值(压入):*s.top

e;2移动指针:s.tops.top+1

*s.top++e(先压后加)A.

(*s.top)++B.*(s.top)++C.

*(s.top++)

(4)出栈(Pop):

1移动指针:s.top

s.top-12赋值(弹出):

e=*s.top;e

*--s.top(先减后弹)

(5)栈中元素个数:n=s.top‑s.base

(6)栈满:s.top‑s.base=s.stackSize

(7)获取栈顶元素的值:e=*(s.top‑1)

2、top为指针,top指向栈顶元素

的当前位置sqStacks;

一、顺序栈

1、top为指针,top指向栈顶元素的下一位置

sqStacks;

(1)初始化:s.top=s.base

(2)空栈:s.top==s.base

(3)进栈(Push):

①赋值(压入):*s.top=e;

②移动指针:s.top=s.top+1

*s.top++=e(先压后加)

A.(*s.top)++

B.*(s.top)++

C.*(s.top++)

(4)出栈(Pop):

①移动指针:s.top=s.top-1

②赋值(弹出):e=*s.top;

e=*--s.top(先减后弹)

(5)栈中元素个数:n=s.top-s.base

(6)栈满:s.top-s.base=s.stackSize

(7)获取栈顶元素的值:e=*(s.top-1)

2、top为指针,top指向栈顶元素的当前位置

sqStacks;

(1)初始化:s.tops.base‑1(2)

空栈:s.top==s.base‑1(3)进栈

(Push):1移动指针:s.top

s.top+12赋值(压入):*s.top

e;*++s.tope(先加后压)

(4)出栈(Pop):1赋值(弹

出):e=*s.top;2移动

指针:s.top

s.top-1e

*s.top--(先弹后减)

(5)栈中元素个数:n=s.top‑s.base+1

(6)栈满:s.top‑s.base+1=s.stackSize

(7)获取栈顶元素的值:e=*s.top

3、top为数组下标,top指向栈顶元

素的下一位置#defineN10ints[N];inttop;

(1)初始化:top=0(2)空栈:

top==0(3)进栈(Push):s[top

++]e;(先压后加)(4)出栈

(Pop):e=s[--top](先减后弹)

(1)初始化:s.top=s.base-1

(2)空栈:s.top==s.base-1

(3)进栈(Push):

①移动指针:s.top=s.top+1

②赋值(压入):*s.top=e;

*++s.top=e(先加后压)

(4)出栈(Pop):

①赋值(弹出):e=*s.top;

②移动指针:s.top=s.top-1

e=*s.top--(先弹后减)

(5)栈中元素个数:n=s.top-s.base+1

(6)栈满:s.top-s.base+1=s.stackSize

(7)获取栈顶元素的值:e=*s.top

文档评论(0)

1亿VIP精品文档

相关文档