选择排序

来源:互联网 发布:get it与got it口语 编辑:程序博客网 时间:2024/05/22 14:57

先理解一下数组和链表

数组与链表都存储在内存空间数组需要一个连续的且能装下所有元素的空间    当数组元素增加时,需要考虑所在空间的的前后是否还有空间可以放下新加入的元素    当然,在现在内存空间足够的情况下,大可不必考虑这些问题��,不过在嵌入式系统中依然需要注意内存的使用链表不太矫情,不需要所有的元素都抱在一起,只要告诉他前一个和后一个元素在哪就行,他就可以安心的独处了    不过要每一个元素都知道他前一个或后一个在哪是需要付出代价的,也就是额外的存储空间链表的优势是可以插入元素而不影响太多其他元素,这正好是数组的劣势数组的优势是可以随机访问任何一个元素,而链表只能从第一个(先不说双向链表)开始,一个一个一个的访问,直到找到所要访问的元素

二分查找的前提

元素有序排列如何使元素有序排列呢    假如你有一个数组或者链表        其中的元素并没有按从大到小或从小到大的顺序排列            你可以先遍历一遍这个队列,找出最大的放入新队列的第一个位置                再遍历一遍,再找出最大的放入新队列的第二个位置                    。。。                    直到所有元素全部放入新队列                    排序完成,获得一个从大到小排列的队列        这就是选择排序,选择出元素重新排列

算法很简单,复习一下