【发布时间】:2011-04-24 20:53:38
【问题描述】:
我有一个节点的链表,每个节点定义为:
struct Node {
char name[14];
int counts[130];
char gender;
Node *nextPtr;
};
我正在复制这个链表,代码如下:
// Create a copy of the current list
Node *tempPtr;
while (headPtr != NULL) {
tempPtr = new Node;
tempPtr = headPtr;
// Advance the list
headPtr = headPtr->nextPtr;
} // End while loop
我需要复制列表以便对其进行排序,我不想对原始列表进行排序。排序将根据 counts[] 数组的某个位置的值进行降序。我想知道有人可以告诉我,我是否正确复制了列表?如果我能对如何处理和排序这个列表有一些了解。我用 Java 写的没有问题,我对 c 编程语言知之甚少,我深表歉意。任何输入将不胜感激。谢谢你。
抱歉,我将用 c++ 编程语言编写此代码。但是,我不允许使用 C++ 类。我只能使用 C++ I/O 流、引用参数和动态内存分配。
我在这里的主要目标是制作一个指向现有节点的指针列表,然后在不复制节点或干扰原始列表的情况下对其进行排序。
【问题讨论】:
-
你为什么要用 C++ 或 Java(或 C,来吧)编写你自己的链表类?
-
@unapersson:这是一个作业
-
@VanDarg 然后将其标记为“作业”。恕我直言,这仍然是浪费时间,而且您仍然需要说明您使用的是哪种语言(C 或 C++)。
-
你想制作一个指向节点的指针列表,然后对其进行排序,而不复制节点或干扰原始列表,是吗?
标签: c++ sorting linked-list