结点后插入S结点的核心语句序列。
2、阅读下列算法,若有错,改正之。
1. 写出下列程序段的输出结果(队列中的元素类型QElem Type为char)。
void main( ){
Queue Q; Init Queue (Q);
Char x=’e’; y=’c’;
EnQueue (Q,’h’); EnQueue (Q,’r’); EnQueue (Q,’y’);
DeQueue (Q,x); EnQueue (Q,x);
DeQueue (Q,x); EnQueue (Q,’a’);
while(!QueueEmpty(Q)){ DeQueue (Q,y);printf(y); };
Printf(x);
}
2. 简述以下算法的功能(栈和队列的元素类型均为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);
}
}
六、算法设计(每小题5分,共15分。至少要写出思路)
1. 写出在顺序存储结构下将线性表逆转的算法,要求使用最少的附加空间。
2. 编写程序,将若干整数从键盘输入,以单链表形式存储起来,然后计算单链表中结点的个
数(其中指针P指向该链表的第一个结点)。
3. 试写一个算法,判别读入的一个以‘@’为结束符的字符序列是否是“回文”。