栈(二)中如何实现栈的进栈和出栈操作?
- 内容介绍
- 文章标签
- 相关推荐
本文共计236个文字,预计阅读时间需要1分钟。
3. 出栈操作cvoid StackPop(ST *ps) { assert(ps !=NULL); assert(ps->top !=0); // 可以使用 assert(!StackEmpty(ps)) 来判断栈是否为空 ps->top--; // 直接--}对进行出栈操作时,需要判断栈是否为空。
4. 打印栈中元素cvoid StackPrint(ST *ps) { // 打印栈中元素}
3.出栈
void StackPop(ST* ps)//出栈
{
assert(ps);
assert(ps->top > 0); //可以使用 assert(!StackEmpty);
ps->top--;//直接--
}
对其进行出栈操作时要判断栈是否为空。
4.打印栈中元素
void StackPrint(ST* ps)//打印栈中元素
{
int i = 0;
for (i = 0; i < ps->top; i++)
{
printf("%d ", ps->arr[i]);
}
printf("\n");
}
5.判断栈是否为空
bool StackEmpty(ST* ps)//判断是否为空
{
assert(ps);
if (ps->top == 0)
return true;
return false;
//也可以直接使用return ps->top == 0;
}
本文共计236个文字,预计阅读时间需要1分钟。
3. 出栈操作cvoid StackPop(ST *ps) { assert(ps !=NULL); assert(ps->top !=0); // 可以使用 assert(!StackEmpty(ps)) 来判断栈是否为空 ps->top--; // 直接--}对进行出栈操作时,需要判断栈是否为空。
4. 打印栈中元素cvoid StackPrint(ST *ps) { // 打印栈中元素}
3.出栈
void StackPop(ST* ps)//出栈
{
assert(ps);
assert(ps->top > 0); //可以使用 assert(!StackEmpty);
ps->top--;//直接--
}
对其进行出栈操作时要判断栈是否为空。
4.打印栈中元素
void StackPrint(ST* ps)//打印栈中元素
{
int i = 0;
for (i = 0; i < ps->top; i++)
{
printf("%d ", ps->arr[i]);
}
printf("\n");
}
5.判断栈是否为空
bool StackEmpty(ST* ps)//判断是否为空
{
assert(ps);
if (ps->top == 0)
return true;
return false;
//也可以直接使用return ps->top == 0;
}

