1
2
假设您不局限于使用qsort,您可以使用std::sort和存储列号的函子对象。如果必须使用qsort,一个快速而肮脏的解决方案是将列号存储在全局变量中,并在comparison函数中使用它。 |
2
2
不同的比较器函数,所有这些函数都采用整个结构,但每个函数只使用一列进行比较。 |
3
2
可以按如下方式传递结构:
|
4
1
C++还是C?基于你的标签,我假设它是C++。让我们试试STL方式。
你应该使用
functor类有效地创建了一个所谓的“闭包”:一个动态创建的函数对象,具有局部变量,但不与以这种方式创建的其他函数对象共享它们。它看起来是这样的:
请注意,比较“函数”(即您创建的类实例)不是空指针,而是
不幸的是,在C语言中,除了创建一个全局变量之外,不能用其他方法来实现这一点。 |
Community wiki · C中有哪些耗时的操作? 1 年前 |
Community wiki · 将所有处理器电源都投入到任务中 1 年前 |
Community wiki · C++为C添加了什么?[已关闭] 1 年前 |
Community wiki · 打印1到1000,不带循环或条件 1 年前 |