想想已经和Java打了五六年的交道了,而越是时间越长,那些基本的东西就差不多都忘了差不多,今天碰巧看到很常见的三种Java算法,还是抽一点时间用自己的方式解释给自己听,然后彻底吸收一下,免得日后有人玩笑考我,我不会,太丢人。。。。

啥是冒泡排序、选择排序和插入排序。

个人YY开始了:

冒泡排序

相邻的数字两两进行比较
按照[从小到大] 或者[从大到小] 的顺序进行交换
这样一趟过去后,[最大或最小]的数字被交换到了最后一位
然后再从头开始进行两两比较交换,直到倒数第二位时结束 。
最先排好的是后面的位置~,而排好队的最后那几个数在每新开始的一轮排序中都不管啦

举个例子好了,比如一串数字升序排列:代码贴出来~

 public void bubbleSort(int[] a) {for (int i = 1; i < a.length; i++) {// 有几个数就需要来几个轮回for (int j = 0; j < a.length - i; j++) {//排好的后几个就不管啦if (a[j] > a[j + 1]) {int temp = a[j];a[j] = a[j + 1];a[j + 1] = temp;}}}
}

选择排序

可以按照[从小到大] 或者[从大到小] 的顺序进行交换
我们就说从[从小到大] 的排序吧,首先呢,找出序列中最小的数去占了第一个位置,
最先排好的就是排头~,而排好队的前面那几个数在每新开始的一轮排序中都不管啦

举个例子好了,比如一串数字升序排列:代码贴出来~

 public void selectSort(int[] a) {for (int i = 0; i < a.length - 1; i++) {//领出第一个int k = i;for (int j = i + 1; j < a.length; j++) {//排好的就不管啦if (a[k] > a[j]) {//两两对比  大的滚后边去啦k = j;}}if (k != i) {//说明只换一次位置int temp = a[i];a[i] = a[k];a[k] = temp;}}
}

插入排序

可以按照[从小到大] 或者[从大到小] 的顺序进行交换
每步将一个待排序的对象,按其排序码大小,插入到前面已经排好序的一组对象的适当位置上,直到对象全部插入为止。
举个例子好了,比如一串数字升序排列:代码贴出来~

 public void insertSort(int[] a) {for (int i = 1; i < a.length; i++) {for (int j = i; j > 0; j--) {//当前位置的数和它前面排好的进行对比if (a[j - 1] > a[j]) {//依次对比 寻找位置int temp = a[j - 1];a[j - 1] = a[j];a[j] = temp;} else {break;}}}
}

Java经典排序算法的含义解析相关推荐

  1. 十大经典排序算法动画与解析,看我就够了

    作者 | 程序员小吴 转载自五分钟学算法(ID: CXYxiaowu) 排序算法是<数据结构与算法>中最基本的算法之一. 排序算法可以分为内部排序和外部排序.内部排序是数据记录在内存中进行 ...

  2. Java经典排序算法:选择排序,动图演示排序过程

    Java经典排序算法:选择排序,动图演示排序过程 示意动图: public class Main {public static void main(String[] args) {new Main() ...

  3. Java经典排序算法

    提示:本文仅供自己学习 Java经典排序算法 一.排序算法概念及分类 1.排序概念 2.排序分类 二.十大排序算法 1.冒泡排序(BubbleSort) 2.选择排序(Selection sort) ...

  4. 十大经典排序算法动画与解析,看我就够了!(附代码)

    作者 | 程序员小吴 来源 | 五分钟学算法(ID:CXYxiaowu) 排序算法是<数据结构与算法>中最基本的算法之一.排序算法可以分为内部排序和外部排序.内部排序是数据记录在内存中进行 ...

  5. 十大经典排序算法动画与解析

    排序算法是<数据结构与算法>中最基本的算法之一. 排序算法可以分为内部排序和外部排序. 内部排序是数据记录在内存中进行排序. 而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排 ...

  6. 十大经典排序算法动画与解析,看我就够了!(配代码完全版)

    排序算法是<数据结构与算法>中最基本的算法之一. 排序算法可以分为内部排序和外部排序. 内部排序是数据记录在内存中进行排序. 而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排 ...

  7. 十大经典排序算法动画与解析(配代码完全版)

    排序算法是<数据结构与算法>中最基本的算法之一. 排序算法可以分为内部排序和外部排序. 内部排序是数据记录在内存中进行排序. 而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排 ...

  8. 我的Java开发学习之旅------gt;Java经典排序算法之希尔排序

    一.希尔排序(Shell Sort) 希尔排序(Shell Sort)是一种插入排序算法,因D.L.Shell于1959年提出而得名. Shell排序又称作缩小增量排序. 二.希尔排序的基本思想 希尔 ...

  9. 我的Java开发学习之旅------Java经典排序算法之希尔排序

    一.希尔排序(Shell Sort) 希尔排序(Shell Sort)是一种插入排序算法,因D.L.Shell于1959年提出而得名. Shell排序又称作缩小增量排序. 二.希尔排序的基本思想 希尔 ...

最新文章

  1. Hutool,一个贼好用的 Java 工具类库,用过都说好~
  2. turbo c图形方式下编程小技巧
  3. php如何获取上传文件的后缀?
  4. BCrypt管理员登录密码验证
  5. shell:多个文件按行合并
  6. [恢]hdu 1040
  7. centos7 python3.7 ssl_centos 解决python3.7 安装时No module named _ssl
  8. python---(2)Python库资源大全
  9. android rtc 不能写时间到 rtc 原因分析
  10. 医疗行业的信息化建设
  11. python实现触摸精灵功能_FRIDA脚本系列(三)超神篇:百度AI“调教”抖音AI
  12. 互联网日报 | 1月14日 星期四 | 联想集团计划在科创板上市;荣耀官方自营商城正式上线;快手小程序平台开启公测...
  13. 2022游戏出海实用发行策略
  14. java全能速查宝典.chm_Java全能速查宝典
  15. JavaScript的onfocus与onblur用法
  16. Java之自动装箱与自动拆箱
  17. [CSS基础]在一个网页中使用多种不同链接风格的CSS.
  18. 自动切换手机耳机模式和话筒模式
  19. 模板配置--后台管理系统
  20. ·我开发的项目以及进展情况

热门文章

  1. 深度(穿透)选择器 ::v-deep /deep/ 及 >>>
  2. vue element || vant 日历加农历、节日、节气,周六日改变颜色
  3. 区块链安全—随机数安全分析(上)
  4. 网络编程——分离I/O流
  5. 传魅族黄章主动示好小米 相关言论已删除
  6. 商业周刊:失读症造就成功企业家
  7. 了解Python-白 驹 过 隙 , 忽 然 而 已
  8. Ubuntu使用grub网卡改名eth0
  9. 暗影格斗3显示无服务器,暗影格斗3暗影技能闪击怎么用,轻松就能使用
  10. VB.NET插件注册验证权限-VIP功能