1 Star 0 Fork 0

zhituaishangc / paixu

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

这是对常见的排序算法的总结

以按升序排列来说明

1.冒泡排序

基本原理

  1. 外层循环控制循环的趟数,内层循环每一趟都比较数组中相邻位置的元素,如果左边大于右边,就进行交换,这样第一趟结束后最大的数位于最右边
  2. 外层第二趟时,把内层的循环次数-1,这样外层第二趟结束后,第二大的数位于倒数第二的位置,依次类推,外层循环结束后数组就变为有序
  3. 优化:如果内层循环结束后数组中没有发生就交换,说明数组已经有序,可以跳出外层循环,结束排序。

2.选择排序

基本原理

  1. 外层循环控制循环的趟数,内层循环第在外层第一趟时找出数组中的最大值,然后在外层中和最右边的数交换
  2. 外层第二趟,内层结束位置减一,找出第二大的数,在外层中和倒数第二位进行交换
  3. 一次类推,最后一趟是把数组中的最小值放在最左边,数组变的有序

3.插入排序

基本原理

  1. 把一个数插入到一个已经有序的数组中
  2. 外层第一次,认为数组0号元素是一有序数组,内层循环遍历这个有序数组,把一号元素插入到正确的位置
  3. 外层第二次,认为0号和1号组成的数组是有序的,内层遍历这个数组,把二号元素插入到正确的位置,插入后不能改变原来的有序状态
  4. 一次类推,把最后一个元素插入后,数组变为有序数组

归并排序

基本原理

把一个数组不停的划分子序列,当子序列只有一个元素时这个序列就是有序的。然后再把这些有序的子序列用归并算法合并成一个大的有序数组。 所以难点就是如何合并两个有序序列为一个新的有序序列。

归并算法的理解参考下边的链接

参考链接

未完待续

空文件

简介

几种排序算法的原理总结,有冒泡,选择,插入排序 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/zhituaishangc/paixu.git
git@gitee.com:zhituaishangc/paixu.git
zhituaishangc
paixu
paixu
master

搜索帮助