排序算法
蹲茅坑逗蛆蛆
这个作者很懒,什么都没留下…
展开
-
冒泡排序
冒泡排序开始 8 5 3 6 第一次 5 8 3 6 第一个和第二个交换 第二次 5 3 8 6 第二个和第三个交换 第四次 5 3 6 8 第五次 3 5 6 8 第六次 ……. 冒泡排序就是拿出第一个数字和第二个比较 如果第一个比第二个大 就交换位置 然后拿第二个跟第三个比较(如果比第一个小不交换 可是也是拿第二个跟第三个比较)….一直比较下去 等到比较完 在最后面就是最原创 2017-10-19 11:01:30 · 133 阅读 · 0 评论 -
直接选择排序
拿一个k 记住最小值的下表 5 2 7 3 第一次循环 k假定是0, 第一次5和2比 k值变成1 第二次2和7比 k值不变 第三次2和3比 k值不变 循环一次 找到最小值 2 5 7 3 然后把最小值和a【k】换位置 再从第二个循环 代码public static void getzhisors(int[] a){ int tem =0; int k=0;原创 2017-10-19 15:26:42 · 138 阅读 · 0 评论 -
直接插入排序
插入排序比较难理解它是先看前两个 比较一下 排出大小,然后再看第三个,如果第三个小 就把第三个排到应该排的位置…. 比如 4 2 5 3 8 先看4 2 4比2大 交换位置 成为 2 4 5 3 8 再看5 比4大 结束 再看3 比5小,再看4 比4小 再看2比2大 所以应是 2 3 4 5 8 ….. 前两个排好序 让下一个插入应该插的地方 代码public static vo原创 2017-10-19 16:02:25 · 123 阅读 · 0 评论 -
排序中的快速排序
思想: 通过一个数组划分成两个子数组,然后通过递归调用把每个数组进行再分,直到排序完成。 划分:通过在数组中找到一个关键字,进行划分 小的都在左边,大的都在右边, 1)、设置两个变量I、J,排序开始的时候I:=1,J:=N; 2)以第一个数组元素作为关键数据,赋值给X,即X:=A[1]; 3)、从J开始向前搜索,即由后开始向前搜索(J:=J-1),找到第一个小于X的值,原创 2017-10-24 21:16:11 · 174 阅读 · 0 评论