简述以下算法的功能。
发布网友
发布时间:2022-11-08 09:32
我来回答
共3个回答
热心网友
时间:2023-11-08 19:40
第一个算法是把无头结点单链表的第一个节点变到最后一个,使第二个节点变为头结点,原来的头结点变为最后一个。
第二个算法是把原来的单循环链表的一部分元素取出来,具体说就是从pa到pb前一个节点(包括pa而不包括pb)取出来,组成新的单循环链表。
热心网友
时间:2023-11-08 19:40
删除S栈中不为e的数字
热心网友
时间:2023-11-08 19:41
看代码后面的解释
void algo (Stack S,int e){
Stack T, int d;
InitStack(T);//初始化栈T
while(!StackEmpty(S)){//循环条件:如果栈S不为空
Pop(S,d);//S最顶元素出栈
if(d!=e) Push(T,d);//若d!=e,就将d赋给栈T
}
while(!StackEmpty(T)){//循环条件:如果栈T不为空
Pop(T,d);//T最顶元素出栈
Push(S,d);//将d赋给栈T
}
}
综上所述:该代码的作用是 将栈S中不等于e的元素赋给栈T,然后将栈T中的元素赋给S;所以总功能是清除栈S中等于e的元素
希望你能慢慢体会!