zoukankan      html  css  js  c++  java
  • 排序算法

    基本的排序算法有:冒泡排序、选择排序、插入排序

    冒泡排序:对于容量为n 的数组,需要n-1次循坏,每次循环中从第一个元素开始,与后面的元素比较,如果第一个元素比第二个元素大,则就交换它们的位置。以此类推,最终将最大的元素放在数组的末端。

    选择排序:简单地说,对于一个无序的数组,先默认第一个元素为最小的,并把下标存放在变量index中,将最小的元素与其后面的元素进行比较,如果它比后面的元素大,就将后面元素的下标赋给index,如此一直比较,即可以找出最小的元素,将找出的最小的元素与数组的第一个元素互换,对剩下的n-1个元素照样按上述思想比较,即可找出第二小元素.............

    插入排序:和平时整理扑克牌思想一样,第一张默认为有序,然后从剩余的一沓中抽一张与第一张比较,大了放在后面,小了放在前面,再拿出第三张与前两张比较..............,所以插入排序指将无序数组看成一个有序数组和无序数组,开始时有序数组中只有第一个元素,后面逐渐增多。下图是插入排序的图解。

    插入排序的伪代码:

    (1)待插入的元素从数组的第二个元素开始,所以需要n-1次循环;

    (2)每次插入前,先将待插入的元素取出来放在一个变量中,此时待插入位置处为空;

    (3)将待插入元素与左边最近的元素相比较,如果小了,就将左边元素右移一位,再将待插入元素与次远的元素比较,如果小了,继续将次近的元素右移一位,如果大了,就直接将带插入元素放在该元素前面。

     
  • 相关阅读:
    kafka-eagle监控kafka
    ZABBIX自动发现Redis端口并监控
    用Redislive监控redis
    zabbix监控hbase
    zabbix监控zookeeper
    zabbix监控nginx日志状态码
    深入理解JVM-内存溢出案例演示与分析
    深入理解JVM-hotspot虚拟机对象探秘
    java开发手册-总结与补充
    IntelliJ IDEA快速自动生成Junit测试类
  • 原文地址:https://www.cnblogs.com/lyjbk/p/11391422.html
Copyright © 2011-2022 走看看