我用Java创建了一个非常简单的链表:
public class LinkedList {
class Node {
public Node next;
public int item;
public Node (int item) {
this.item = item;
}
}
int listSize = 0;
Node first = null;
Node last = null;
public void add(int n) {
最近我遇到了一个挑战,就是要编写一个高效、优雅的C函数,它可以将无序链表的内容插入到有序链表中。
这是我想出来的:
node * insert(node * dest, node * src)
{
node * current = dest;
node * previous = NULL;
//Deal with zero-length destination list
if (dest == NULL) { return src; }
//Deal with putting it at the start
if (src->data
我在按字母顺序组织链表时遇到了问题。我正在从一个文本文件中读取名称,并将它们存储到一个链表中。我遇到的问题是如何按字母顺序对它们进行排序。如果有人能给我指出正确的方向,那就太棒了。其思想是获取每个名称中前3个字母的值,并将它们与下一个名称中的前3个字母进行比较。但是我在哪里可以将这些字母进行比较呢?
下面是LinkedListNode类:
public class LinkedListNode
{
private String data;
private LinkedListNode next;
public LinkedListNode(String data)
我需要实现一个函数,它可以从双链接列表中找到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.