已知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;}
举一反三
- 已知STACK表示栈的结构,push为元素e进栈操作,若成功返回1,否则返回0,...->top++;return 1;}
- 在火车调度站的入口处有n节硬席车厢(用1表示)和软席车厢(用2表示)等待调度,试编写一个算法,输出对n节车厢进行调度的操作,使所有软席车厢都被调整到硬席之前。 栈定义结构: struct stack{ elemtype stack[100]; int top; } 栈的进栈、出栈、取栈顶元素、判栈空算法分别为:push(struct stack &s)、pop(struct stack &s)、gettop(struct stack s)、empty(struct stack s)。
- 向一个顺序栈S(栈顶指针为top)中插入元素x时,首先要()。 A: S->stack[S->top]=x B: S->top++ C: S->top-- D: x=S->stack[S->top]
- 顺序栈S中栈顶元素的访问形式是。其中顺序栈的存储结构描述为: typedef struct{ SElemType *base ; //栈底指针 SElemType *top; //栈顶指针 ,指向栈顶元素的下一存储位置 int stacksize }SqStack;
- 若栈s中,规定初始栈顶指针s->top设为Maxsize,那么对栈s进行元素x的进栈操作,下述正确的是() A: s->top++; s->data[s->top]=x; B: s->data[s->top]=x; s->top++; C: s->top--; s->data[s->top]=x; D: s->data[s->top]=x; s->top--;