帮帮锐神吧,送你一个气球作为奖励,嘿嘿嘿,,,。
大家刚刚接触数据结构,发现这是个非常神奇的东东。如果没接触也没有关系,给大家介绍一下。栈是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。插入一般称为进栈(PUSH),删除则称为退栈(POP)。栈也称为后进先出表。 1.进栈(PUSH)算法 ①若TOP≥n时,则给出溢出信息,作出错处理(进栈前首先检查栈是否已满,满则溢出;不满则作②); ②置TOP=TOP+1(栈指针加1,指向进栈地址); ③S(TOP)=X,结束(X为新进栈的元素); 2.出栈(POP)算法 ①若TOP≤0,则给出下溢信息,作出错处理(出栈前先检查是否已为空栈, 空则下溢;不空则作②); ②X=S(TOP),(出栈后的元素赋给X): ③TOP=TOP-1,结束(栈指针减1,指向栈顶)。 比如现在有序列1,2,3入栈,那么可能出栈的序列有:1,2,3;1,3,2;3,2,1;2,1,3;2,3,1;共5种; 那么锐神提出一个问题就来了:如果有n个元素进栈,那么有多少种方式出栈呢?帮帮锐神吧,送你一个气球作为奖励。嘿嘿嘿。。。。