排序算法
the cat and the owne
这个作者很懒,什么都没留下…
展开
-
菜鸡的生存之路
计数排序算法的个人理解 个人理解,如果有误,欢迎留言 话不多说,直接上代码 计数排序思想就是先一个比原数组a中最大的那个元素还要大的数组b,并将数组初始化为0,然后通过循环遍历,将a数组的值作为b数组的下标,并将下标对应的那个值由0变为1,最后通过循环遍历将b数组中值不为0的下标输出(记得输出的是b数组的下标而非值) #include <iostream> ...原创 2019-01-07 19:33:52 · 157 阅读 · 2 评论 -
菜鸡的冒泡排序
冒泡排序的2种实现方法 最近复习冒泡排序(bubble_sort)时,感觉直接拍的话太死板,而且当数组元素过多时比较浪费时间,于是就上网搜索了下,然后发现了其他的1种方法 1.首先是最开始学习的冒泡排序的算法 这种方法就是进行循环遍历数组,相邻的两个之间进行比较,符合条件交换位置,就不在进行过多的解释了。 (标准)冒泡排序中有两层for循环 外层for循环正好进行N次迭代,但内部循环越来越少。 1...原创 2019-01-07 21:09:50 · 171 阅读 · 2 评论 -
选择排序
菜鸡的选择排序(selectionSort) 选择排序算法是冒泡排序算法的一种改进。 从下到大为例。用一个变量k做标记,记录最小值的下标。 排序时,先用k记录第一个数的下标,然后循环遍历用k与数组后面的数比较,找到最小值的下标,并用k记录,然后交换第一个数与此时得到k(如果第一个数不是最小值,那么此时k的值已改变为最小值的下标)所代表的数,第一轮结束后,便找到最小值。然后继续寻找,知道排序完成。 ...原创 2019-01-09 20:29:21 · 129 阅读 · 0 评论 -
insertionSort
插入排序 插入排序的思想:简单来说就是用一个变量来记录你要插入的数据,然后在内层for循环中遍历找到合适的位置插入 外循环执行N-1次,这很明显。 但内循环执行的次数取决于输入: 在最好的情况下,数组已经排序并且(a [j]> X)总是为假所以不需要移位数据,并且内部循环运行在O(1), 在最坏的情况下,数组被反向排序并且(a [j]> X)始终为真插入始终发生在数组的前端,并且内部...原创 2019-01-09 21:01:34 · 264 阅读 · 0 评论