简述以下算法的功能(栈的元素类型SElemType为int)。
举一反三
- 顺序栈S中栈顶元素的访问形式是。其中顺序栈的存储结构描述为: typedef struct{ SElemType *base ; //栈底指针 SElemType *top; //栈顶指针 ,指向栈顶元素的下一存储位置 int stacksize }SqStack;
- 【简答题】简述以下算法的功能(栈和队列的元素类型均为int)。 void algo3(Queue &Q){ Stack S; int d; InitStack(S); while(!QueueEmpty(Q)) { DeQueue(Q, d); Push(S, d); } while(!StackEmpty(S)) { Pop(S, d); EnQueue(Q, d); } }
- 假设顺序栈的定义为:typedefstruct{selemtype*base;/*栈底指针*/selemtype*top;/*栈顶指针*/intstacksize;/*当前已分配的存储空间,以元素为单位*/}sqstack;变量st为sqstack型,则栈st为空的判断条件为()。 A: st.base==NULL B: st.top==st.stacksize C: st.top-st.base>=st.stacksize D: st.top==st.base
- 已知STACK表示栈的结构,push为元素e进栈操作,若成功返回1,否则返回0,完成以下算法。typedef struct{int data[100];int top;//栈顶元素的下一个位置的下标}STACK;int push(STACK &s, int e){ if() return 0; //栈满= e;s->top++;return 1;}
- 简述以下算法的功能(栈st和队列qu的元素类型均为ElemType)。 bool fun(SqQueue *&qu,int i) { ElemType e; int j=1; int n=(qu->rear-qu->front+MaxSize)%MaxSize; if (j[1 || j]n) return false; for (j=1;j<=n;j++) { deQueue(qu,e); if (j!=i) enQueue(qu,e); } return true; }