ENQUEUE(Q,x)
1.Q[tail[Q]]=x
2.if tail[Q]=length[Q]
3.then tail[Q]=1
4.else
5.tail[Q]=tail[Q]+1我想问一下第二行和第三行是什么意思?为什么要把1复制给tail

解决方案 »

  1.   

    这好像是一个循环啊 !
    第二行:检测是否到了栈的末尾。
    第三行:如果到了栈的末尾,那么从头开始。这也是为什么要把1复制给tail的原因。
    这是我的感觉,仅供参考。
      

  2.   

    2.if tail[Q]=length[Q] 
    3.then tail[Q]=1 
    你确定第2行只有一个=吗?要是这样那就是付值,
    if tail[Q]=length[Q] 设置堆栈首元素的位置