我需要实现一个函数,它可以从双链接列表中找到kth最小值。
我在网上搜索并了解到这一点:
quickSelect逻辑和k阶统计算法对数组或向量是有效的,但是这里我使用的是链表,在这里我没有链表的任何大小,所以很难将它们分成5个元素。
我的函数测试用例如下所示:
for(int i = 0; i < 1000; ++i)
{
// create linked list with 1000 elements
int kthMinimum = findKthMin(LinkedList, i);
// validate kthMinimum answer.
假设我有一个双向链表。我想从其中删除一个序列,如下所示:
begin - element - element x element - element - element x element - end
\_________________________________/
-: reference
x: removed reference
我想知道我是否也应该删除要删除的元素之间的引用,或者垃圾收集器是否以更好的方式处理它。