我必须按照以下方式交换元素:
HashMap
我的交换功能如下。
JsonObject
但代码无效。 我的完整代码如下:
Eg: 1 2 3 4 5 6 7 8 //Before
2 14 3 6 5 8 7 //After
请帮助纠正我的代码
答案 0 :(得分:0)
您的代码中存在一些问题。 一个是你不断改变循环中的头部,你应该只在开始时改变它(当你遍历链表时使用另一个变量)。当你可以点击列表的末尾时,你应该有更多的支票。
尝试类似的事情(免责声明,我实际上没有尝试过):
void swap(struct node *head)
{
struct node *odd, *even;
if ((head == NULL) || (head->next == NULL))
return;
odd = head;
even = head->next;
head = head->next; // change this one once and for all
while ((odd != NULL) && (even != NULL)) {
// swap the elements
odd->next = even->next;
even->next = odd;
// move to the next ones
odd = even->next;
if (odd != NULL)
even = odd->next;
}
}