找到 34423 篇文章 关于编程

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

Vrundesha Joshi
更新于 2019年7月30日 22:30:25

994 次浏览

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

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

Nitya Raut
更新于 2019年7月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年7月30日 22:30:25

307 次浏览

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

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

Vrundesha Joshi
更新于 2019年7月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(subarray, n) 输入:子数组和子数组的大小。输出:最长递增子序列长度。开始 定义大小为 n 的数组 最初将 0 设置为长度的所有条目……阅读更多

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

Nitya Raut
更新于 2019年7月30日 22:30:25

988 次浏览

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

C++程序:实现 Graham 扫描算法以查找凸包

Nitya Raut
更新于 2019年7月30日 22:30:25

4K+ 次浏览

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

C++程序:实现邻接矩阵

Vrundesha Joshi
更新于 2019年7月30日 22:30:25

14K+ 次浏览

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

C++程序:实现邻接表

Jennifer Nicholas
更新于 2019年7月30日 22:30:25

11K+ 次浏览

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

C++程序:实现栈

Nitya Raut
更新于 2019年7月30日 22:30:25

10K+ 次浏览

在这个程序中,我们将看到如何使用 C++ 实现栈。栈是一种抽象数据结构,它包含一组元素。栈实现 LIFO 机制,即最后压入的元素首先弹出。栈中的一些主要操作是:压入 - 将数据值添加到栈顶。弹出 - 删除栈顶的数据值。窥视 - 返回栈顶的数据值。使用数组实现栈的程序如下所示。输入:压入元素 11,……阅读更多

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

Vrundesha Joshi
更新于 2019年7月30日 22:30:25

4K+ 次浏览

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

广告
© . All rights reserved.