int i, n = Find(x); if (n == -1) { Goods *p = new Goods[nums + 1]; for (i = 0; i < nums; i++) p[i] = gs[i]; p[i] = x; if (gs) delete[]gs; gs = p; nums++; } else { gs[n].num += x.num; } value = Get_value(); }
时间: 2024-03-07 12:53:34 浏览: 61
js代码-两数之和 输入:nums = [2,7,11,15], target = 9 输出:[0,1]
这是一个函数中的一段代码,其中 x 是一个类型为 Goods 的参数。该代码的作用是将商品 x 添加到一个商品数组 gs 中。
首先,这段代码调用了一个名为 Find 的函数来查找数组 gs 中是否已经存在一个商品与 x 相同。如果不存在,Find 函数返回 -1。
如果 Find 函数返回 -1,那么这段代码会创建一个名为 p 的新的 Goods 类型数组,并将 gs 中的所有元素复制到 p 中。然后,将 x 添加到 p 的最后一个元素中,并将 gs 指向 p。最后,将 nums 加 1,表示数组中的元素个数增加了一个。
如果 Find 函数返回的是一个非负整数 n,那么这段代码会将 x 中的数量加到 gs[n] 的数量中,并重新计算数组中所有商品的总价值 value。
阅读全文