第三章栈和队列——3.2:栈的应用举例
因为栈的后进先出的特性,栈可以用来解决很多问题,我们接下来处理几个栈应用的典型例子。
例3.1对于一个任意输入的非负十进制数,打印出与其等值的八进制数。
void conversion()
{
initstack(s);
scanf("%d", n);
while (n)
{
push(s, n % 8);
n /= 8;
}
while (!stackempty(s))
{
pop(s, e);
printf("%d", e);
}
}
例3.2写一个程序,如果不是退格或者退行符,压入栈顶,退格弹出,退行清空
void lineedit()
{
initstack(s);
ch = getchar();
while (ch != eof)
{
while (ch != eof