212 次浏览
让我们首先定义一个结构体,它将表示一个树节点,其中包含一个字符键和一个Node *的向量。struct Node{ char key; vector<Node*> children; };接下来,我们创建createNode(int key)函数,它接受一个int键值并将其分配给节点的key成员。该函数返回指向已创建结构体节点的指针。Node *createNode(int key){ Node *node = new Node; node->key = key; return node; }我们的depthOfTree(struct Node* root)函数接受根节点作为参数。如果根节点为NULL,则深度返回为…… 阅读更多
119 次浏览
二叉树的密度是通过将其大小除以其高度来计算的。二叉树密度 = 大小/高度。让我们首先定义一个结构体,它将表示一个树节点,其中包含数据及其左右子节点。如果这是第一个创建的节点,则它是根节点,否则是子节点。struct Node { int data; struct Node *leftChild, *rightChild; };接下来,我们创建createNode(int data)函数,它接受一个int值并将其分配给节点的data成员。该函数返回指向已创建结构体的指针…… 阅读更多
227 次浏览
删除操作是通过用底部最右边的节点替换被删除的节点来执行的。让我们首先定义一个结构体,它将表示一个树节点,其中包含数据及其左右子节点。如果这是第一个创建的节点,则它是根节点,否则是子节点。struct Node { int data; struct Node *leftChild, *rightChild; };接下来,我们创建newNode(int data)函数,它接受一个int值并将其分配给节点的data成员。该函数返回指向已创建的struct Node的指针。此外,…… 阅读更多
111 次浏览
为了找到对角线的长度,我们将边的值代入2*边*sin(900/14)。sin(900/14)的值 = 0.9。示例让我们看看下面的实现,以了解如何根据其边长获得正七边形的对角线−实时演示#include <iostream> using namespace std; int main(){ float side = 12; if (side < 0) return -1; float diagonal = 2*side*0.9; cout<<diagonal;
164 次浏览
Demlo数是回文数,由形如11..1的数的平方生成,前提是该数小于10位数。让我们首先声明字符串变量−string demNum = "1111"; string square = "";现在,我们循环到demNum字符串的长度。在循环中,我们将索引值i转换为字符串并将其附加到square变量。for(int i=1 ;i<=demNum.length(); i++) square += char(i + '0');for(int i=demNum.length()-1; i>= 1; i--) square += char(i + '0');示例让我们看看下面的实现,以便更好地理解Demlo数−实时演示#include <iostream> using namespace std; int main(){ string demNum = ... 阅读更多
78 次浏览
让我们首先声明初始字符串并计算其长度,然后将它们传递给deleteSubstr(str,length)函数。string str = "01010110011"; int length = str.length(); cout<<deleteSubstr(str,length);return 0;}
148 次浏览
让我们首先使用包含int data、btree_node * rightChild、btree_node * leftChild的类来定义我们的二叉树。leftChild和rightChild是指向btree_node的指针。我们类中的所有成员都是公共的。class btree_node { public: int data; btree_node* leftChild; btree_node* rightChild;为了创建一个新节点,我们有一个构造函数,它接受int值作为参数,将其分配给新创建的节点值。leftChild和rightChild设置为null。btree_node(int data){ this->data = data; this->leftChild = NULL; this->rightChild = NULL; ... 阅读更多
168 次浏览
让我们首先定义包含数据和指向下一个节点的指针的链表。struct Node { int data; struct Node* next; };然后,我们创建createList(Node ** headPtr, int new_data)函数,它接受指向Node的双指针和一个int值。在函数内部,我们将新创建的节点的next指针赋值给headptr,然后将headptr赋值给新创建的节点。void createList(Node ** headPtr, int new_data){ Node* newNode = new Node(); newNode->data = new_data; newNode->next = (*headPtr); (*headPtr) = newNode; }deleteNnodesAfterM(Node *head, int M, int N) ... 阅读更多
345 次浏览
让我们首先定义包含数据和指向下一个节点的指针的链表。struct Node { int data; struct Node* next; };接下来,我们创建createNode(int data)函数,它接受int数据作为参数,并在赋值参数值后返回新创建的节点。节点的next指针将为null。Node* createNode(int data){ struct Node* newNode = new Node; newNode->data = data; newNode->next = NULL; return newNode; }现在,我们有deleteMiddle(struct Node* head)函数,它接受根节点。如果根节点不为空,则…… 阅读更多
95 次浏览
让我们首先定义一个结构体,它将表示一个树节点,其中包含数据及其左右子节点。如果这是第一个创建的节点,则它是根节点,否则是子节点。struct Node { int data; struct Node *leftChild, *rightChild; };接下来,我们创建newNode(int data)函数,它接受一个int值并将其分配给节点的data成员。该函数返回指向已创建的struct Node的指针。此外,新创建节点的左子节点和右子节点都设置为null。struct Node* newNode(int ... 阅读更多