从一个系列数组(在 C++ 中)创建数组数组
create array of arrays from one array of Series(in c++)
我如何从一维数组系列中创建数组数组,例如:我有一个这样的数组:
long int arr[20] = {23, 91, -71, -63, 22, 55, 51, 73, 17, -19,-65, 44, 95, 66, 82, 85, 97, 30, 54, -34};
我想按升序创建数组数组,例如:(在 C++ 中)
23, 91
-71, -63, 22, 55
51, 73
17
-19
-65, 44, 95
66, 82, 85, 97
30, 54
-34
已经尝试过现在有多少个数组
int sum=0;
for(int i=0;i<n-1;i++)
if(arr[i]>arr[i+1])sum++;
return sum;
int sum=0;
for(int i=0;i<n-1;i++)
if(arr[i]>arr[i+1])sum++;
return sum;
应该是
int sum = 0;
if (n > 0)
{
for (int i = 0; i < n - 1; i++)
if (arr[i] > arr[i+1])
sum++;
sum++;
}
您的版本不计算最后一个升序数字序列。
这是一个开始,接下来要做的是为每行的指针分配足够的内存。然后,您再次浏览数字,计算每行的长度,为该行分配内存,然后再次浏览该行,复制该行的数字。它只是循环(内部循环)。如果您遇到困难,请去发布代码。
创建vector of vector
而不是array of array
怎么样?在阵列中,您必须确定会导致您的大小,无论是index out of bound exception
还是巨大的space lost
。如果使用矢量,则不会确定矢量的大小,它会在您填充矢量大小时分配更多空间。
如果你的初始数组是降序的,你的双精度数组大小将是nx1
的,如果是升序,那么1xn
所以你必须使你的双数组nxn
不给出exception
,这在n > 10^4
时是不可接受的(大约)。
vector of vector
的一些基本语法如下:
vector<vector<int>> myvect; //initialization
myvect.at(i).at(j) = x; //reaching i_th row, j_th col element
myvect.at(0).push_back(1); //add element to the end of the row0.
这个网站在解释向量方面看起来不错。
这是示例代码,我没有测试它,所以可能有小的语法错误,
vector<vector<int>> myvect; //initialization
int size = 20;
long int arr[size] = {23, 91, -71, -63, 22, 55, 51, 73, 17, -19,-65, 44, 95, 66, 82, 85, 97, 30, 54, -34};
int row = -1; int val = arr[0]+1;
for(int i = 0; i < size; i++){
if(arr[i] < val){
row++;
myvect.push_back(vector<int> () );
}
myvect.at(row).push_back(arr[i]);
}
代码基本上是这样的。
你可以做
array[9][4] = {
{ 23, 91 },
{ -71, -63, 22, 55 },
{ 51, 73 },
{ 17 },
{ -19 },
{ -65, 44, 95 },
{ 66, 82, 85, 97 },
{ 30, 54 }
{ -34 }
};
相关文章:
- 在c++中为double类型的数组创建一个unique_ptr
- 如何从预定义的数组创建某些元素数组
- 基于数组的列表 - 动态数组创建时出错
- 从 UTF-8 字节数组创建字符串?
- 是否可以在并行区域中为共享 2D 数组创建选定元素的线程本地副本?(共享,私有,障碍:OPenMP)
- C++ 从名称数组创建对象
- 从数组创建 Mat 时,'cv::Mat' 和 'int' 类型不兼容
- 从 std::数组创建十六进制代表
- 在 C++ 结构内声明的数组 A[1] 创建多个实例
- 为多维数组创建内存空间
- 如何使用任何类型的数组创建模板类并为其设置值?
- 从字符串数组创建一个字符数组
- 是否可以在不为该数组创建变量的情况下将数组作为参数传递到函数中?
- 使用类定义数组创建C++类
- 使用具有唯一随机数的结构数组创建多个对象
- 谷歌测试:无法从字符数组创建字符串
- 从 1D 数组创建 2D 数组
- 无法通过一个单向链表数组创建邻接列表
- 如何使用数组创建标准::函数
- 在C++中,返回从本地字符数组创建的字符串是否会导致内存泄漏或未定义的行为