相关疑难解决方法(0)

如何在c ++中创建连续的2d数组?

我想创建一个在C++中返回连续2D数组的函数.

使用以下命令创建阵列不是问题:

 int (*v)[cols] = new (int[rows][cols]);
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何将此数组作为函数的常规类型返回.功能是:

  NOT_SURE_WHAT_TYPE create_array(int rows, int cols)
  {
        int (*v)[cols] = new (int[rows][cols]);
        return v;
  }
Run Code Online (Sandbox Code Playgroud)

我尝试了双*[]和双**,两者都不起作用.我不想使用double*,因为我想从外部访问这个数组作为2D数组.

相关问题:如何使用new在C++中声明二维数组?

c++

10
推荐指数
5
解决办法
6206
查看次数

使用内置函数(或任何其他方法)在C++中对2D数组进行排序?

我有一个像下面这样的2D数组.(array[5][2])

20  11    
10  20
39  14
29  15
22  23
Run Code Online (Sandbox Code Playgroud)

排序后应该如下所示.

10  20
20  11
22  23
29  15
39  14
Run Code Online (Sandbox Code Playgroud)

这意味着应该对数组进行排序,仅比较第一列值.

在Java中,有一个内置的功能来实现这一点.如下.

Arrays.sort(a, new Comparator<Long[]>() {

            @Override
            public int compare(Long[] o1, Long[] o2) {

                Long t1 = o1[1];
                Long p1 = o1[0];
                Long t2 = o2[1];
                Long p2 = o2[0];

                if (t1 == t2) {
                    return (p1 > p2 ? 1 : (p1 == p2 ? 0 : -1));
                } else {
                    return (t1 < t2 …
Run Code Online (Sandbox Code Playgroud)

c++ arrays sorting

9
推荐指数
5
解决办法
3万
查看次数

标签 统计

c++ ×2

arrays ×1

sorting ×1