查找 C++ 向量中的成员函数2024年8月28日 | 阅读 4 分钟 与任何其他语言中的数组类似,C++ 中的 vector 是动态的;因此其大小不是固定的。为什么要用 vector?因为 C++ 数组是静态的,定义后无法更改其宽度,这在存储大小未知的数据集时并不理想。 示例 输出 3 ......................................... Process executed in 1.22 seconds Press any key to continue. 说明 如果元素存在于 vector 中,这段代码将返回该元素的索引;否则,它将返回 -1。
为了找到我们正在寻找的键,函数调用遍历 vector 中的 n 个元素,因此时间复杂度是线性的 O(n)。 通过以恒定的 O(1) 空间复杂度迭代遍历 vector 来执行简单的比较。 借助 std::find_if() 和 std::distance()如果搜索需要满足特定逻辑,例如使用素数逻辑在 vector 中查找元素的索引,建议使用此方法在 vector 中查找元素。 当我们的谓词(比较结构)对第一个到最后一个范围内的任何元素返回 true 时,std::find_if() 会返回一个指向该元素的迭代器。如果不存在这样的键,函数将返回 end(last),即最后一个元素的末尾。 std::distance() 返回从第一个到最后一个的跳数。在我们的情况下,它给出从 vector 开始到迭代器键 k 的跳数,这是我们正在寻找的元素的位置索引。键索引将取决于跳数。 示例 输出 3 ......................................... Process executed in 1.33 seconds Press any key to continue. 说明
下一主题智能指针 |
在本文中,您将通过其实现了解 C++ 中使用栈的队列。使用栈数据结构实现队列,其中底层数据结构是 push(添加元素)和 pop(删除元素)操作。栈是后进先出...
阅读 3 分钟
C++ 智能指针 std::observer_ptr 被包含在 C++ 标准库中,并于 C++20 首次亮相。它旨在作为对某个对象的轻量级、非拥有引用。std::observer_ptr 用于表示某段代码在不承担任何...
阅读 3 分钟
在本文中,我们将讨论 C++ 中的 3 向比较运算符(飞船运算符)及其语法和示例。什么是 3 向比较运算符(飞船运算符)?“飞船运算符”或“三向比较运算符”,用 <=> 符号表示。使用此运算符,可以比较两个值...
阅读 3 分钟
异常是运行时错误,它会干扰程序遵循的正常指令。它是一个不希望在程序正常执行期间发生的意外事件。当访问元素的...时,超出范围异常发生的常见情况之一。
阅读 4 分钟
这个 C++ 应用程序使用一次性密码加密技术来加密任何消息。输入不区分大小写,并兼容所有字符。在解密的消息中,空格会生成为随机字符,而不是被忽略。例如:用于实现一次性密码的 C++ 程序源代码...
阅读 3 分钟
Kadane 算法简介 Kadane 算法是数据分析和计算机科学中用于确定给定数组内子数组的最大和的关键工具。数据科学、金融市场和计算机编程是该方法应用领域的几个例子...
阅读 10 分钟
在 C++ 中,仿函数(functor)是一个函数对象——重载了函数调用运算符 () 的类的实例。仿函数用于提供一种面向对象的方式来处理函数或类函数对象。仿函数可以在许多函数是…的地方使用。
阅读 6 分钟
C++ 中的 Kruskal 算法树在计算机科学和数据结构领域对于有效地组织和管理数据至关重要。在实际应用中,树是用于描述各种连接和层次结构的层次结构。它们是计算机科学的基石...
11 分钟阅读
? 运行时类型信息(RTTI),也称为运行时类型识别(RTI),是多种编程语言(如 C++、Object Pascal 和 Ada)的一项功能,它使得有关对象的数据类型的信息可以在运行时获取。运行时类型信息可以被制作成...
阅读 4 分钟
在本文中,我们将讨论 C++ 中的线程安全队列及其示例。什么是线程安全队列?线程安全队列是一种数据结构,旨在确保并发环境下的线程安全。这种数据结构允许多个...同时入队和出队元素。
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India