在本教程中,我们将编写一个程序,该程序在给定的链表中查找峰值元素。
峰值元素是大于周围元素的元素。让我们看看解决问题的步骤。
为链表创建一个struct节点。
用伪数据创建链接列表。
检查基本情况,例如链表是否为空或长度为1。
将第一个元素存储在一个名为previous的变量中。
遍历链接列表。
检查当前元素是否大于上一个元素和下一个元素。
如果上述条件满足,则返回。
更新前一个元素。
打印结果
让我们看一下代码。
#include <bits/stdc++.h> using namespace std; struct Node { int data; struct Node* next; }; void insertNewNode(struct Node** head_ref, int new_data) { struct Node* new_node = new Node; new_node->data = new_data; new_node->next = (*head_ref); *head_ref = new_node; } int findPeakElement(struct Node* head) { if (head == NULL) { return -1; } if (head->next == NULL) { return head->data; } int prev = head->data; Node *current_node; for (current_node = head->next; current_node->next != NULL; current_node = current_node->next) { if (current_node->data > current_node->next->data && current_node->data > prev) { return current_node->data; } prev = current_node->data; } if (current_node->data > prev) { return current_node->data; } return -1; } int main() { struct Node* head = NULL; insertNewNode(&head, 7); insertNewNode(&head, 4); insertNewNode(&head, 5); insertNewNode(&head, 2); insertNewNode(&head, 3); cout << findPeakElement(head) << endl; return 0; }输出结果
如果执行上述代码,则将得到以下结果。
5
本文向大家介绍在C ++中查找峰值元素,包括了在C ++中查找峰值元素的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将编写一个程序来查找给定数组中的峰元素 峰值元素是大于周围元素的元素。让我们看看解决问题的步骤。 用伪数据初始化数组。 检查第一个元素和最后一个元素的峰值元素状况。 从第二个元素遍历数组。 检查当前元素是否大于上一个元素和下一个元素。 如果上述条件满足,则返回。 打印结果
本文向大家介绍在C ++中查找2D数组中的峰元素,包括了在C ++中查找2D数组中的峰元素的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将编写一个程序来查找2D数组中的峰值元素。 如果周围所有元素均小于该元素,则该元素称为峰元素。 让我们看看解决问题的步骤。 用伪数据初始化2D数组。 遍历2D数组。 首先,检查2D数组的角元素。 接下来,编写2D数组的第一行和最后一行的条件。 现在,检
本文向大家介绍在C ++中查找链接列表的长度(迭代和递归),包括了在C ++中查找链接列表的长度(迭代和递归)的使用技巧和注意事项,需要的朋友参考一下 在这里,我们将看到如何使用迭代和递归方法查找链表的长度。如果给出了头指针,我们必须遵循以下步骤来获取长度。 对于迭代方法- 以列表的开头,直到当前指针不为空,再转到下一个节点并增加计数。 对于递归方法- 将head作为参数传递,基本条件是参数为nu
问题内容: 我有一个清单“ a” 我需要找到一个特定数字的所有元组。说1 我怎么做? 问题答案: 如果只希望第一个数字匹配,则可以这样操作: 如果您仅搜索其中包含1的元组:
问题内容: 所以这是我的代码: 包含一个整数列表。我想比较于并打印出不在的数字相比时。 当不能比较时,我可以打印其中的元素,但是当我尝试使用上面的代码进行相反操作时,则什么也不会打印。 有什么帮助吗? 问题答案: 您的代码没有按照我认为的方式执行。该行将遍历,每次等于的一个元素。因此,在执行任何操作之前,原始列表将被覆盖。 我想你想要这样的东西: 但是您可以轻松地执行以下操作: 或(如果您不介意丢
我正在使用MongoDB搜索包含列表列表的元素,其中列表中至少有一个项目与搜索参数匹配。 这是我目前拥有的结构的一个例子。 我想搜索数据列表中值为“绿色”的所有项目。 我目前有这个: 但是,不会返回任何结果。