c - 如何在 c 中对数组进行子集化?
问题描述
我正在尝试在 C 中实现递归合并排序,对从标准输入中获取的输入进行排序ARGV
。为此,我需要创建作为数组子集副本的新ARGV
数组。我需要副本,因为然后我将使用它们来修改原始数组,而我无法做到这一点。
void pm_merge(char **A, int p, int q, int r)
{
char **L;
char **R;
int i;
L = malloc(sizeof(char*) * pm_stringlen(A) + 1);
i = 0;
while (i <= q)
strncpy(L[i], A[i], pm_stringlen(A[i]));
}
void pm_mergesort(char **A, int p, int r)
{
int q;
if (p < r)
{
q = (p + r) / 2;
pm_mergesort(A, p, q);
pm_mergesort(A, q + 1, r);
pm_merge(A, p, q, r);
}
}
我已经包含pm_mergesort()
了上下文,但真正的问题在于pm_merge()
函数。谁能帮我吗?尽管可以编译,但该代码给了我一个错误。
解决方案
推荐阅读
- linux - Apache2:托管多个站点(Ubuntu 服务器
- javascript - (index):17 Uncaught SyntaxError: missing ) 在参数列表之后
- python - 重用单个会话在主副本和只读副本之间使用 SQLAlchemy 路由连接
- docker - 带有 Docker Compose 的 .NET 5 核心 Web 应用程序在浏览器中提供 ERR_EMPTY_RESPONSE
- java - Java Lab 缺少细节以获得关于 Domjudge 的正确答案
- mysql - 如何在 vb.net 中使用 FIND_IN_SET 和 dataview.rowfilter
- amazon-web-services - AWS Image Builder 中的容器配方是否有任何 CDK 或 CloudFormation 支持?
- java - ByteBuddy java 代理导致 noclassdeffound 错误
- javascript - 在javascript中从对象中提取数据
- java - Gradle 工具 API + JUnit 5 并行测试执行异常 (LocationAwareException)