排序链表和addSorted函数问题
Sorted linked list and the addSorted function problem.
所以我一直在这个工作一段时间,我似乎不能弄清楚什么是错的。这个addSorted函数在排序数组的适当位置添加了所有正确的值,但是当它在列表的前面添加一个0时,程序不会终止,也不会显示结果。有人知道这是为什么吗?
void addSorted(Data * newData){
if(head == NULL) {
head = new LinkNode(newData);
return;
}
LinkNode * current = head;
LinkNode * previous = NULL;
while(current != NULL) {
if(newData->compareTo(current->data) == -1) {
LinkNode * newNode = new LinkNode(newData);
newNode->next = current;
if(previous == NULL) {
current->next = newNode;
}
else {
newNode->next = previous->next;
previous->next = newNode;
}
return;
}
previous = current;
current = current->next;
}
previous->next = new LinkNode(newData);
}
是否compareTo的结果为-1意味着它小于当前节点?
如果previous==NULL,则设置current->next指向newNode,这意味着它们指向彼此,因为newNode->next也指向当前节点。
我认为你问题的根源可能是这样的。
newNode->next = current;
current->next = newNode;
希望通过这种方式你能明白我在说什么
相关文章:
- 类C++中的函数问题(LNK2019和LNK1120错误)
- 返回不停止函数,递归函数问题?(编程练习,动态规划,Levenshtein 回溯)
- 变分模板递归构造函数问题
- C++函数问题中的数组分配
- C++中嵌套在另一个 LinkedList 中的 LinkedList 整数上的回调函数问题
- C++重载构造函数问题
- 二叉搜索树析构函数问题
- C++ vector<pair<int,int>> std::all_of() 函数问题(重定向到头文件)
- 迷宫构造函数问题 [线程 1:EXC_BAD_ACCESS(代码 = 1,地址 = 0x8)]
- C++函数问题中的 IF 语句
- 函数问题,未定义的引用错误
- C++ 指针无效函数问题
- C++函数问题 = 帮助我理解基本概念
- 由于基于接口的编程,遇到 C++ 虚拟模板函数问题
- C++二进制树递归析构函数问题
- 构造函数问题<无法读取内存>
- 构造函数问题
- C 时间函数问题
- 另一个类中的类的构造函数问题
- C与C++函数问题