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

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

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

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

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

    插入排序的伪代码:

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

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

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

     
  • 相关阅读:
    啥是IOC ?啥是DI ?
    Spring是什么?
    Javaweb实训-宠物医院-社区宠物医院登陆页面
    Javaweb实训-宠物医院-社区宠物医院的页面样式
    Bootstrap基础学习(二)
    Bootstrap基础学习(一)
    常用的几种清除float浮动的方法
    jquery的each遍历方法
    正则总结RegExp
    OpenWrt编译到底脚本
  • 原文地址:https://www.cnblogs.com/lyjbk/p/11391422.html
Copyright © 2011-2022 走看看