摘要: 插入排序的原理是每插入一个数都要将它和之前的已经完成排序的序列进行重新排序,也就是要找到新插入的数对应原序列中的位置。那么也就是说,每次插入一个数都要对原来排序好的那部分序列进行重新的排序,时间复杂度同样为O(n²)。 这种算法是稳定的排序方法。 函数不理解可以看下我写的解析 阅读全文
posted @ 2019-06-07 23:42 CYYZ古月 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 本文是针对老是记不住这个或者想真正明白到底为什么是稳定或者不稳定的人准备的。 首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果Ai = Aj,Ai原来在位置前,排序后Ai还是要在Aj位置前。 其 阅读全文
posted @ 2019-06-07 12:04 CYYZ古月 阅读(946) 评论(0) 推荐(0) 编辑
摘要: 2、选择排序(Selection Sort) 选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 阅读全文
posted @ 2019-06-07 12:02 CYYZ古月 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 标准冒泡排序 #define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include<malloc.h>#include <string.h> 优化一假设我们现在排序ar[]={1,2,3,4,5,6,7,8,10,9}这组数据,按照上面的排序方式,第一趟 阅读全文
posted @ 2019-06-07 10:22 CYYZ古月 阅读(191) 评论(0) 推荐(0) 编辑