3K+ 次查看
C++ 中的数组类效率很高,并且知道它自己的大小。用于对数组执行操作的函数有:size() = 返回数组的大小,即返回数组的元素个数。max_size() = 返回数组的最大元素个数。get(),at(),operator[] = 访问数组元素。front() = 返回数组的第一个元素。back() = 返回数组的最后一个元素。empty() = 如果数组大小为真则返回真,否则返回假。fill() = 用特定值填充整个数组。swap() = 交换一个……阅读更多
23K+ 次查看
以下是vector和array的区别:Vector是一个顺序容器,用于存储元素,而不是基于索引的。Array存储相同类型的固定大小的顺序元素集合,它是基于索引的。Vector本质上是动态的,因此大小会随着元素的插入而增加。由于array是固定大小的,因此一旦初始化就不能调整大小。Vector占用更多内存。Array是一种内存高效的数据结构。Vector访问元素的时间更长。Array访问元素的时间是恒定的,与它们的位置无关,因为元素排列在一个连续的内存分配中。Vector和array可以用以下语法声明:Vector声明:vectorarray……阅读更多
5K+ 次查看
在本节中,我们将了解C++中命名空间和类的区别。命名空间和类是两个不同的概念。类是数据类型。类基本上是结构的扩展版本。类可以包含数据成员和函数作为成员,但命名空间可以通过将它们分组为一个来包含变量和函数。命名空间不能创建为对象。此概念用作附加信息,以区分类似的函数、类、变量等。相同名称的变量、函数可以放在不同的命名空间中。现在让我们指出命名空间和类的一些重要区别。命名空间用于……阅读更多
2K+ 次查看
在这里我们将了解C语言中的动态内存分配。C编程语言提供了一些用于内存分配和管理的函数。这些函数可以在头文件中找到。以下是一些内存分配函数。函数描述void *calloc(int num, int size);此函数分配一个包含num个元素的数组,每个元素的大小为size字节。void free(void *address);此函数释放由address指定的内存块。void *malloc(int num);此函数分配一个num字节的数组,并将其保留为未初始化状态。void *realloc(void *address, int newsize);此函数重新分配内存,将其扩展到newsize。动态分配内存在编程时,如果……阅读更多
434 次查看
我们将开发一个C++程序来实现二维礼品包装算法。礼品包装算法是一种用于计算给定点集的凸包的算法。算法开始 函数convexHull()用于查找n个点的凸包: 必须至少有三个点。 初始化结果。 找到最左边的点。 从最左边的点开始,逆时针移动 直到再次到达起点。 打印结果。结束示例代码 实时演示#include using namespace std; #define INF 10000 struct P { int x; int y;……阅读更多
221 次查看
我们将考虑一个C++程序,使用方程=(x-xt)^2 + (y-yt)^2 – r*r来检查点d是否位于平面上由点a、b、c定义的圆内或圆外。其中,对于平面上任何一点t (xt, yt),它相对于由3点(x1, y1)、(x2, y2)、(x3, y3)定义的圆的位置。对于s < 0,t位于圆内。对于s >0,t位于圆外。对于s = 0,t位于圆上。算法开始 输入点。 声明常量L = 0和H =……阅读更多
174 次查看
这是一个C++程序,用于使用上下基元测试两条线是否相交。它可以用来测试一条线是否与线段相交。当且仅当线段的一个端点在线的左侧,另一个端点在右侧时,它才相交。算法开始 为了生成第一条线的方程,在每次编译时使用rand生成x和y系数的随机数。 为了生成第二条线的方程,使用rand生成x和y系数的随机数……阅读更多
100 次查看
这是一个C++程序,使用Slicker算法查找多边形的面积,该算法避免了三角剖分来查找多边形的面积。它假设通常的数学约定,即正y向上。在正y向下的计算机系统中,最简单的方法是使用“正y向下”坐标逆时针列出顶点。然后,两个效果相互抵消,产生正面积。函数和伪代码算法开始 函数Area()用于计算以多边形p为参数的多边形的面积。 对于i = 0到p.n-1 初始化j =……阅读更多
422 次查看
这是一个C++程序,用于应用上下测试来查找点相对于线的位 置。对于平面上任何一点t (xt, yt),它相对于连接m和n的线L的位置是通过计算标量s -Y = A xt + B yt + C来找到的。如果Y< 0,则t位于L的顺时针半平面;如果Y>0,则t位于逆时针半平面;如果Y= 0,则t位于L上。算法开始 输入点。 为了生成直线的方程,生成……阅读更多
237 次查看
当我们编写程序使用模板在编译时进行计算时,这称为模板元编程。示例代码#include using namespace std; templatestruct power { enum { value = 4*power::value }; }; templatestruct power { enum { value = 1 }; }; int main() { cout<<power::value<<endl; return 0; }