找到 34423 篇文章 适用于编程

什么是 C/C++ 程序中的段错误?

Vrundesha Joshi
更新于 2019-07-30 22:30:25

994 次查看

当您的程序尝试访问其无权访问的内存区域时,就会发生段错误。换句话说,当您的程序尝试访问超出操作系统为其分配的内存限制的内存时。段错误主要由以下指针引起:未正确初始化。在它们指向的内存被重新分配或释放后使用。在索引数组中使用超出数组边界的索引。

如何在 C++ 程序中将对象传递给函数?

Nitya Raut
更新于 2019-07-30 22:30:25

8K+ 次查看

有四种将对象传递给函数的方法。假设您有一个类 X 并想将其传递给函数 fun,然后按值传递这会在函数作用域中创建对象的浅拷贝。您在此处修改的内容不会反映在传递给它的对象中。例如,声明void fun(X x);调用X x; fun(x);按引用传递这将对象的引用传递给函数。您在此处修改的内容将反映在传递给它的对象中。不会创建对象的副本。例如,声明void fun(X &x);调用X x; fun(x);按常量传递... 阅读更多

如何在 C/C++ 中检测整数溢出?

Vrundesha Joshi
更新于 2019-07-30 22:30:25

307 次查看

唯一安全的方法是在溢出发生之前检查溢出。虽然有一些检查整数溢出的hacky方法。因此,如果您希望检测无符号整数加法中的溢出,则可以检查结果是否实际上小于添加的任一值。例如,示例代码unsigned int x, y; unsigned int value = x + y; bool overflow = value < x; // 或者“value < y”也应该有效这是因为如果 x 和 y 都是无符号整数,如果相加并且溢出,它们的值不可能大于它们中的任何一个... 阅读更多

C++ 程序查找给定序列的最长递增子序列

Vrundesha Joshi
更新于 2019-07-30 22:30:25

686 次查看

最长递增子序列是一个子序列,其中一个项目大于其前一个项目。在这里,我们将尝试从一组整数中找到最长递增子序列的长度。输入:一组整数。{0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15}输出:最长递增子序列的长度。这里它是 6。子序列是 0, 2, 6, 9, 13, 15。算法longestSubSeq(子数组,n)输入:子数组和子数组的大小。输出:最长递增子序列长度。开始    定义大小为 n 的数组    最初将长度的所有条目设置为 0 ... 阅读更多

C++ 程序实现 Jarvis March 算法以查找凸包

Nitya Raut
更新于 2019-07-30 22:30:25

988 次查看

Jarvis March 算法用于从给定的一组数据点中检测凸包的角点。从数据集的最左点开始,我们通过逆时针旋转将点保持在凸包中。从当前点,我们可以通过检查这些点从当前点的方向来选择下一个点。当角度最大时,选择该点。完成所有点后,当下一个点是起点时,停止算法。输入:点集:{(-7, 8), (-4, 6), (2, 6), (6, 4), (8, 6), (7, -2), (4, ... 阅读更多

C++ 程序实现 Graham Scan 算法以查找凸包

Nitya Raut
更新于 2019-07-30 22:30:25

4K+ 次查看

凸包是可以覆盖所有给定数据点的最小封闭区域。Graham 的扫描算法将找到凸包的角点。在此算法中,首先选择最低点。该点是凸包的起点。剩余的 n-1 个顶点根据从起点的逆时针方向排序。如果两个或多个点形成相同的角度,则删除除最远点以外的所有相同角度的点。从剩余的点中,将它们推入堆栈。并且当方向...时,逐一从堆栈中删除项目 阅读更多

C++ 程序实现邻接矩阵

Vrundesha Joshi
更新于 2019-07-30 22:30:25

14K+ 次查看

图的邻接矩阵是一个大小为 V x V 的方阵。V 是图 G 的顶点数。在这个矩阵中,每一侧都标记了 V 个顶点。如果图从 i 到 j 顶点有一些边,那么在邻接矩阵的第 i 行和第 j 列中它将为 1(或对于加权图而言为某个非零值),否则该位置将为 0。邻接矩阵表示的复杂度:邻接矩阵表示需要 O(V2) 的空间量来计算。当图具有最大数量的边时... 阅读更多

C++ 程序实现邻接表

Jennifer Nicholas
更新于 2019-07-30 22:30:25

11K+ 次查看

图的邻接表表示是链接列表表示。在此表示中,我们有一个列表数组数组大小为 V。这里 V 是顶点数。换句话说,我们可以说我们有一个数组来存储 V 个不同的列表。如果列表头是顶点 u,则表示它将保存 u 的所有相邻顶点。邻接表表示的复杂度此表示对于无向图需要 O(V+2E),对于有向图需要 O(V+E)。如果边的数量增加,那么所需的存储空间也将... 阅读更多

C++ 程序实现堆栈

Nitya Raut
更新于 2019-07-30 22:30:25

10K+ 次查看

在此程序中,我们将了解如何使用 C++ 实现堆栈。堆栈是一种包含元素集合的抽象数据结构。堆栈实现 LIFO 机制,即最后压入的元素首先弹出。堆栈中的一些主要操作是 -Push - 这会将数据值添加到堆栈的顶部。Pop - 这会删除堆栈顶部的值Peek - 这会返回堆栈的顶部数据值使用数组实现堆栈的程序如下所示。输入:推送元素 11,... 阅读更多

C++ 程序使用堆栈计算表达式

Vrundesha Joshi
更新于 2019-07-30 22:30:25

4K+ 次查看

为了解决数学表达式,我们需要前缀或后缀形式。将中缀转换为后缀后,我们需要后缀计算算法才能找到正确答案。这里我们也必须使用堆栈数据结构来解决后缀表达式。从后缀表达式中,当找到一些操作数时,将它们压入堆栈。当找到一些运算符时,从堆栈中弹出两个项,然后按正确的顺序执行运算。之后,结果也将被压入堆栈以供将来使用。完成整个表达式后,最终结果也将存储在堆栈顶部。输入:后缀... 阅读更多

广告

© . All rights reserved.