在本教程中,我们将讨论将单链表转换为XOR链表的程序。
为此,我们将提供一个单链表。我们的任务是获取该列表的元素,并将其转换为XOR链接列表。
#include <bits/stdc++.h> using namespace std; //node structure of linked list struct Node { int data; struct Node* next; }; //creation of new node Node* newNode(int data){ Node* temp = new Node; temp->data = data; temp->next = NULL; return temp; } //printing singly linked list void print(Node* head){ while (head) { cout << head->data << " "; head = head->next; } cout << endl; } //calculating XORed values Node* XOR(Node* a, Node* b){ return (Node*)((uintptr_t)(a) ^ (uintptr_t)(b)); } //converting the singly linked list void convert(Node* head){ Node* curr = head; Node* prev = NULL; Node* next = curr->next; while (curr) { next = curr->next; curr->next = XOR(prev, next); prev = curr; curr = next; } } //printing the XORed linked list void printXOR(Node* head){ Node* curr = head; Node* prev = NULL; while (curr) { cout << curr->data << " "; Node* temp = curr; curr = XOR(prev, curr->next); prev = temp; } cout << endl; } int main(){ Node* head = newNode(1); head->next = newNode(2); head->next->next = newNode(3); head->next->next->next = newNode(4); cout << "Before Conversion : " << endl; print(head); convert(head); cout << "After Conversion : " << endl; printXOR(head); return 0; }
输出结果
Before Conversion : 1 2 3 4 After Conversion : 1 2 3 4
本文向大家介绍在C ++中将单链表转换为循环链表,包括了在C ++中将单链表转换为循环链表的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将讨论将单链接列表转换为循环链接列表的程序。 为此,我们将提供一个单链表。我们的任务是获取该列表的元素,并将其转换为循环链接列表。 示例 输出结果
我如何转换使用以下代码,我的二叉树到一个简单的链表。这也许可以用递归来完成。 因此,如果根为NULL,也就是,如果函数没有收到有效的指针,则返回错误消息。 如果根是叶,这是,如果左子节点和右子节点都为NULL,您必须将其添加到叶节点列表中。
我创建了一个单链表函数,我的教授说,为了获得额外的学分,我们可以将其更改为双链表。我读了一些东西,比如添加一个prev_节点函数,比如这样。 然而,我不知道从那里去哪里。我知道我需要像这里一样加上一个尾巴和一个脑袋。 谁能告诉我,(不要为我做这件事),我必须做什么才能把我的链接列表变成一个双重链接列表?我知道我现在必须参考尾巴和头部,但我对如何做到这一点很困惑。
我目前正在上Java课,教授告诉我们,理解链接的一个好方法是制作双向链表。我做了一个单链表,但是我很难把它转换成双向链表。所以我想知道是否有人能给我任何建议,以确保我的最后一个号码与前一个号码相连?如果前面的数字和最后一个数字连接到null。这是代码的一部分,如果你想得到更多,只要问,我会发布。 用于添加元素等的代码。这是我试图让尾部连接到最后一个数字的尝试。 下面的代码是insert函数,我需要
我正在处理以下面试问题: 给定一个元素按升序排序的单链表,将其转换为高度平衡的BST。
这是我为单链表提供的代码,但是我正在努力完成反向函数。这就是代码和我尝试的反向功能。我一直收到两个错误,分别是“未声明的变量:节点”和“不兼容的类型:节点无法转换为Linkedlist”。 } 还有类Node:类Node{//Public引用到下一个节点的公共Node下一个; 这是主要功能:类测试{public static void main(String args[]){//创建一个单链接列表