问题标签 [qsort]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
383 浏览

c - qsort(3) 的联机帮助页对吗?

库例程的联机帮助页qsort(3)给出了在命令行上对作为参数给出的单词进行排序的示例。比较函数如下:

但是这里排序的是argv. Nowargv是一个指向 chars 指针的指针,它也可以看作是一个指向 chars 的指针表。

因此它的元素是指向字符的指针,那么实际参数不应该cmpstringp是指向字符的指针,而不是“指向字符指针的指针”吗?

0 投票
4 回答
4399 浏览

c++ - 使用 qsort() 函数

我是一名学生,我在一本书中查找了此功能。它可以正常工作,但我不太了解sortFunction()传递给qsort()函数的内部工作原理。如果有人可以详细解释它,请做。提前致谢。

0 投票
4 回答
1078 浏览

c - Qsort - 交替排序顺序

我有一个程序使用(并且必须继续使用)实现 qsort 的旧排序功能。我还必须为排序函数提供适当的数据,以按升序(如果字符串包含偶数)或降序(如果字符串包含奇数)对数据进行排序。

必须更改数据才能实现这一点,不能更改排序功能。

代码是用C编写的,但我没有针对这个特定问题的相关代码片段。

真正的问题是:

如何转换数据以使输出与下面的所需输出匹配?

我有以下数据(或类似数据)

编辑:数据是多个字符串类型 char **,每个字符串中的数字是一个 int。

所需的输出是

排序通常以与输入 1:1 匹配的降序方式进行。我设法通过在字符串后面的数字前加上 1 或 0 来生成呈现以下输出的转换。

所以要排序的内部数据是这样的

这会产生以下输出(转换仅用于排序,并且是临时的)。

0 投票
3 回答
7420 浏览

c++ - 将 qsort() 与类指针一起使用

我正在使用内置函数qsort()class item指针向量进行排序。

在调试器模式下,指针既不指向pa也不pb指向有效位置。class items所指向的所有数据成员的集合pa或者pb包含垃圾值。我在哪里犯错?我也不确定双指针的用法。

谢谢。

0 投票
2 回答
425 浏览

c - 对动态分配的字符串进行排序

我有一个奇怪的问题:

...

按预期给出:

为什么字符串没有正确排序?

0 投票
3 回答
2243 浏览

c - QSorting一个malloc的结构数组?

我在 C 中为我的 qsort 提供了这个比较器功能,但无论我尝试什么,我似乎都遇到了分段错误......

这是我的 qsort 调用: wheremessage** mList = malloc(INITIAL_CAPACITY * sizeof(message));count是跟踪最后一个元素的整数。message 只是一个 typedef 结构,它包含一个 int 和一个指向 char 的指针。我有 67% 的把握我正确地调用了 qsort,有人能指出我正确的方向吗?

[编辑] 我声明 message*** 而不是 message* 的原因是因为我试图初始化一个指向结构的指针“数组”;除非我以错误的方式解决这个问题?

0 投票
2 回答
14974 浏览

c - 使用 stdlib 的 qsort() 对字符串数组进行排序

一些前言:我是一名计算机工程专业的学生,​​在学习了 3 个学期的 Java(直至数据结构)后,我正在学习 C 的第一堂课。这个问题与家庭作业有关,但距离为我解决它还有几个步骤。

我有一个读入内存的输入文件,它存储在 char[9][500] 中。我最多读入 500 个最大长度为 8 的字符串。我正在尝试使用 stdlib 的内置 qsort() 函数对这个数组进行排序,并且遇到了一些内存错误。

重要的代码片段:

本节将数据读入数组。这部分感兴趣的数组是“调试”。这是上面指定的数组。这是我对 qsort 的比较函数:

这是我尝试调用 qsort:

我尝试在 count 所在的调用中替换 debug_len ,但我仍然存在段错误。这是输出:

谢谢!

0 投票
3 回答
3543 浏览

c - 如何在C中对一个非常大的数组进行排序

我想long long在 C 中按四百万的顺序排序。通常我只是malloc()一个缓冲区用作数组并调用qsort(),但四百万 * 8 字节是一大块连续内存。

最简单的方法是什么?为此,我将轻松程度置于纯粹的速度之上。我不想使用任何库,结果需要在 Windows 和 Linux 下的普通上网本上运行。

0 投票
4 回答
11043 浏览

c - C qsort 无法正常工作

我不知道我做错了什么,但下面的代码没有正确排序数组。

产生以下输出:

我的意思是,问题/必须/在我的比较功能中。有人注意到有什么奇怪的吗?

0 投票
4 回答
75902 浏览

c - 使用带有结构数组的 qsort 需要帮助

现在,我看到了各种例子,但我不明白它们的意思。

这是我的结构

其中 soc 是我要排序的社会安全号码。

我知道您需要一个比较功能,但我不知道如何提出我需要的确切内容。