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

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

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

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

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

    插入排序的伪代码:

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

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

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

     
  • 相关阅读:
    产品分析之核心功能篇
    激励CEO们最好的办法就是鼓励他们不要停止思考
    Javascript的一些经验总结
    微信为什么跟你想要的不一样?
    互联网思维西游记漫画分享
    交互设计与人类行为习惯的一些思考
    说说三四月的app审核中的几个坑
    程序员的玻璃心
    常用网站日志分析软件使用总结
    在你决定从事iOS开发前需要清楚的几个问题
  • 原文地址:https://www.cnblogs.com/lyjbk/p/11391422.html
Copyright © 2011-2022 走看看