排序算法

c – 将排序插入到小(255个元素)列表中

我正在寻找一个合适的算法来构建一个相对较小(最多255个元素)排序的整数数组.目标平台是基于STM32的嵌入式系统.由于存储器是有限的,因此优选就地方法.我知道显而易见的方法是实现和描述通常的嫌疑人(快速排序,插入sert,shell排序),但是想要问你的经历.更具体地说,在构建阵列时,我发现很少有关于性能的信息–也就是说,不同的算法可以使用所有现有元素已经订购的事实.编辑1:虽然问题标记为C,但

在C中排序链表

我被要求编写一个函数,它接受3个未排序的链表并返回一个组合所有三个列表的单个排序链表.您能想到的最佳方式是什么?我真的没有内存限制,但是你有/没有内存限制你会做什么?

c – 给定排序的矢量查找从负到正的过渡

给定一个排序的std::vector,我想使用C11-STD函数来找到元素从负变为正的索引.我知道我可以使用二进制搜索来实现它,但我感兴趣的是标准库中是否有任何函数,类似于unaryfind_if,这将有助于此搜索.解决方法你应该找到0的lower_bound:生成的迭代器将指向最早的位置,您可以在不中断元素排序的情况下插入0.同样,upper_bound将返回最右边的这样的迭代器.算法的运行时为O