(简答题)
假设在算法描述语言中引入指针的二元运算“异或”,若a和b为指针,则a⊕b的运算结果仍为原指针类型,且a⊕(a⊕b)=(a⊕a)⊕b=b;(a⊕b)⊕b=a⊕(b⊕b)=a。则可利用一个指针域来实现双向链表L。链表L中的每个结点只含两个域:data域和LRPtr域,其中LRPtr域存放该结点的左邻与右邻结点指针(不存在时为NULL)的异或。若设指针L.Left指向链表中的最左结点,L.Right指向链表中的最右结点,则可实现从左向右或从右向左遍历此双向链表的操作。试写一算法按任一方向依次输出链表中各元素的值。
正确答案
答案解析
略
相似试题
(简答题)
假设在长度大于1的循环链表中,即无头结点也无头指针,s为指向链表中某个结点的指针,试编写算法删除结点s的前趋结点。
(单选题)
在描述算法的流程图中,表示运算与处理的符号框为()。
(简答题)
已知指针ha和hb分别指向两个单链表的头结点,并且已知两个链表的长度分别为m和n。试写一算法将这两个链表连接在一起,假设指针hc指向连接后的链表的头结点,并要求算法以尽可能短的时间完成连接运算。请分析你的算法的时间复杂度。
(单选题)
算法可以用多种表达方法来描述,下面方法中可以描述“闰年问题”算法的是()。 ①流程图②伪代码③机器语言④自然语言
(单选题)
高级程序设计语言中用于描述程序中的运算步骤、控制结构及数据传输的是()。
(填空题)
逻辑运算中的二元运算符有:()、()和异或运算符。
(填空题)
算法的描述方法通常有()、()、()和()四种,其中,()被称为算法语言。
(单选题)
在用编程语言进行编程时需要设计算法,那么用来描述算法的工具有()。
(单选题)
以语言形式描述模块算法的是()