折半查找取整规则 怎样将顺序表和链表合并成一个有序表?
怎样将顺序表和链表合并成一个有序表?这个问题最麻烦的部分是内存分配。如果你用C还是C?C,链表结构用于单链表,向量结构用于序列表,假设它们分别是list< int> A和vector< i
怎样将顺序表和链表合并成一个有序表?
这个问题最麻烦的部分是内存分配。如果你用C还是C?
C,链表结构用于单链表,向量结构用于序列表,假设它们分别是list< int> A和vector< int> B。当(!A.empty())]{
b.push uu2; back(A.front())
A.pop uu2; STL将自行解决front()]}
order表的内存分配问题。
如果是C,就有点难了。更直观的方法是,首先从头到尾遍历链表,计算其长度,然后分配一个长度等于单个链表和顺序链表长度之和的空间,并复制两个表的内容。一个稍微好一点的方法是,先猜测一个合适链表的长度,然后用它来分配内存;如果发现链表太长,则将猜测的长度加倍,重新分配内存。