【数据算法与结构】栈和队列课后习题

题目(共两道)

题目1

  Qestion:根据下面代码片段写出运行下列程序段的输出结果(元素类型为char)

题目代码片段

void main() {
    
    
	Stack S; 
	char x,y; 
	InitStack(S); // 初始化栈
	x= ‘e ‘; 
	y= ‘c’; 
	Push(S, ‘h‘); Push(S, ‘r‘);  Push(S,y);
	Pop(S,x); Push(S, x); 
	Pop(S,x); Push(S,’a’); 
	While (!SEmpty(S)) {
    
    
        Pop(S,y); printf(y); 
	}; 
	printf(x); 
}

题目1解答(注释)

最后打印结果为arhc
在这里插入图片描述

追问1

如果想要输出的结果是: c h a r ,怎么改这段程序?

追问1解答

若想要输出结果为"char",那么这段代码片应该长这样

在这里插入图片描述


题目2

  Qestion:根据下面代码片段写出运行下列程序段的输出结果(元素类型为char)

题目代码片段

写出运行下列程序段的输出结果(元素类型为char)
void main() {
    
    
	Queue S; 
	char x,y; 
	InitQueue(S); // 初始化栈
	x= ‘e ‘; 
	y= ‘c’; 
	EnQueue(S, ‘h‘); EnQueue(S, ‘r‘); EnQueue(S,y);
	DeQueue(S,x); EnQueue(S, x); 
	DeQueue(S,x); EnQueue(S,’a’); 
	While (!SEmpty(S)) {
    
    
       DeQueue(S,y); printf(y); 
	}; 
	printf(x); 
}

题目2解答(注释)

在这里插入图片描述


结束语

  因为是算法小菜,所以提供的方法和思路可能不是很好,请多多包涵~如果有疑问欢迎大家留言讨论,你如果觉得这篇文章对你有帮助可以给我一个免费的赞吗?我们之间的交流是我最大的动力!

猜你喜欢

转载自blog.csdn.net/Zchengjisihan/article/details/131520566