【发布时间】:2017-10-29 20:34:47
【问题描述】:
我有一个结构列表:
typedef struct {
uint8_t mac_addr[6];
uint32_t signal;
uint32_t freq;
...
}pseudo_entry;
在列表中插入内容时,我正在对这些条目进行排序。
伪:
while(next)
if(curr.mac_addr < next.mac_addr)
if(curr.signal < next.signal)
...
这非常不灵活,我想要一个可以作为启动参数的排序。 有什么好主意吗?
我不需要完整的代码。只是想法或库。
谢谢。 :)
【问题讨论】:
-
你的代码中没有链表。如果您要使用常规的结构数组,您可以使用
qsort和不同的回调函数来实现不同的排序。 -
当你使用
<比较两个数组时,实际上是比较pointers,指向数组中第一个元素的指针。即使您有两个具有相同内容的数组,它们也永远不会比较相等。如果要比较数组,则必须编写一个函数来比较数组的内容。 -
是的,我知道。 ^^ 这就是我写伪代码的原因: