选择排序

先理解一下数组和链表

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

二分查找的前提

元素有序排列

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

算法很简单,复习一下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值