正在加载图片...
【例3.3】有n个元素(假设元素值为1~n),依1~n的 次序通过一个栈,设计一个算法判断序列str是否得为一个出 栈序列,若是出栈序列,给出操作过程 解:将进栈序列存放到数组中(元素为1~n),判断序 列sr存放到数组b中,设计一个顺序栈st,其栈顶指针为top 令i、j初始值均为0,即分别指向a、b数组的第一个元素 反复执行下列操作:比较栈顶元素 sttop和b机的大小, 着两者不相等,则将叫进栈,ˉ1;否则出栈栈顶元素,加1 当汏于等于n或大于等于n时,上述循环过程结束。如果序列 str是由出栈序列,则此时必有=n,用 mystr字符串保存进栈 和出栈的操作过程。对应的算法如下【例3.3】 有n个元素(假设元素值为1~n),依1~n的 次序通过一个栈,设计一个算法判断序列str是否得为一个出 栈序列,若是出栈序列,给出操作过程。 解:将进栈序列存放到数组a中(元素为1~n),判断序 列str存放到数组b中,设计一个顺序栈st,其栈顶指针为top。 令i、j的初始值均为0,即分别指向a、b数组的第一个元素。 反复执行下列操作:比较栈顶元素st[top]和b[j]的大小, 若两者不相等,则将a[i]进栈,i加1;否则出栈栈顶元素,j加1。 当i大于等于n或j大于等于n时,上述循环过程结束。如果序列 str是由出栈序列,则此时必有j==n,用mystr字符串保存进栈 和出栈的操作过程。对应的算法如下:
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有