算法笔记(2)——日常记录

冒泡算法

不停的与隔壁数据做出比较,然后交换,逐渐冒泡到另一端。

简单选择排序

遍历第一遍,找到一个最小的数据,与最左边或者是最右边的数据交换位置,然后再遍历,找到第二小的…以此类推
这里解决我一个疑惑不解的地方,初始化是初始化a[5],但是sizeof(a+0)还是跟里面具体放了多少数值有关系,跟初始化的值没有关系。

插入排序

把无序排列中的元素取出来,跟有序数列中的元素比较,选择插入的位置,未学习前,我一直疑惑这个插入是怎么做到的。
现在我把我纠结的地方想明白了,总之数组左边的一串是确定有序的,就像是在图书馆的书架上找书一样,我手里拿着一本有编号的书,从左向右的查看书架上书的编号,书一本本的被我向右推去,直到我找到了一个合理的位置(temp = a[j])。因为左边的数组是有序的,所以只要找到那一个位置就好!

希尔排序

希尔排序就是一个插入排序的升级版,书不再是一本本的被我向右推去,而是两本或更多本的被我推走。

你可能感兴趣的:(随笔流水账)