排序算法

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

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

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

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

插入排序的伪代码:

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

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

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

 
原文地址:https://www.cnblogs.com/lyjbk/p/11391422.html