问答题
简答题 设以带头结点的双向循环链表表示的线性表L=(a
1
,a
2
,…,a
n
)。试写一时间复杂度O(n)的算法,将L改造为L=(a
1
,a
3
,…,a
n
,…,a
4
,a
2
)。
【参考答案】
点击查看答案
<上一题
目录
下一题>
热门
试题
问答题
假设在算法描述语言中引入指针的二元运算“异或”,若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指向链表中的最右结点,则可实现从左向右或从右向左遍历此双向链表的操作。试写一算法按任一方向依次输出链表中各元素的值。
点击查看答案
问答题
已知由一个线性链表表示的线性表中含有三类字符的数据元素(如:字母字符、数字字符和其他字符),试编写算法将该线性表分割为三个循环链表,其中每个循环链表表示的线性表中均只含一类字符。
点击查看答案
相关试题
实现二分查找的递归章法如下,在相应位置填...
单链表类型定义如下:用不带头结点的单链表...
若无向图中任意两个不同的顶点间都有路径,...
采用邻接矩阵存储n个顶点e条边的无向图,其...
若三维数组a[4][5][6]的基地址是...