1、 选择排序:把第一个数与他后面的数进行比较,如果顺序则继续与后面比较,如果逆序则两数交换位置,继续将第一个数与交换位置后的数进行比较,这样就完成了第一轮排序。同理将第二位与其后的数比较,直到数组有序为止。

最好时间复杂度:O(n)     平均时间复杂度:O(n^2)        最坏时间复杂度:  O(n^2)

空间复杂度:O(1)

图解:

Java代码实现:

publicclass SelectOrder{

public void sort(int[] a){

int temp = 0;

for(int i=0;i

for(int j=I;j

if( a[j]

temp = a[i];

a[i] = a[j];

a[j] = temp;

}

}

for(int i=0;i

System.out.println(a[i]);

}

}

}

2、 冒泡排序:将第一个数与相邻的数进行比较,如果顺序则继续第二个数与后面相邻的书进行比较;如果逆序则交换位置,继续和后面相邻的数进行比较,完成第一趟冒泡排序。同理,直到数组有序。

最好时间复杂度:O(n)     平均时间复杂度:O(n^2)        最坏时间复杂度:  O(n^2)

空间复杂度: O(1)

l  如果经过一趟冒泡排序不发生数据交换说明数组原本有序。

图示:

代码实现:

public class BubbleOrder {

public void bubble(int[]a){

int temp=0;

for(int i=0;i

for(intj=0;j

if(a[j]>a[j+1]){

temp = a[j];

a[j]=a[j+1];

a[j+1] =temp;

}

}

}

for(int x=0;x

System.out.println(a[x]);

}

}

}

java冒泡排序程序流图_java实现选择排序和冒泡排序及执行流程图解相关推荐

  1. java实现数组排序代码_Java使用选择排序法对数组排序实现代码

    编写程序,实现将输入的字符串转换为一维数组,并使用选择排序法对数组进行排序. 思路如下: 点击"生成随机数"按钮,创建Random随机数对象: 使用JTextArea的setTex ...

  2. java数组排序冒泡排序_java数组常见的排序——选择排序和冒泡排序

    将数组中的元素按照一定的顺序(从小到大,或从大到小)排列 1,以下用了常用的两种排序,选择排序和冒泡排序 package com.mydemo02; import java.util.Arrays; ...

  3. 选择排序java代码_JAVA简单选择排序算法原理及实现

    简单选择排序:(选出最小值,放在第一位,然后第一位向后推移,如此循环)第一位与后面每一个逐个比较,每次都使最小的置顶,第一位向后推进(即刚选定的第一位是最小值,不再参与比较,比较次数减1) 复杂度: ...

  4. Java小结(四)——折半查找、选择排序、冒泡排序

    最常见的一些基本算法,比如折半查找,选择排序,冒泡排序. 折半查找,是它是一种效率较高的查找方法.但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列     即数组内元素必须是 ...

  5. Java基础语法——选择排序、冒泡排序以及二分查找法和Arrays类的使用

    本文将带你了解选择排序.冒泡排序以及二分查找法的原理和代码实现,以及通过Arrays类快速实现对数组的一些操作 文章目录 一.选择排序 二.冒泡排序 三.二分查找法 四.Arrays类(对数组的操作) ...

  6. Java利用选择排序和冒泡排序实现对键盘录入的数据排序

    Java利用选择排序和冒泡排序实现对键盘录入的数据排序 选择排序 选择排序是遍历元素找到最大(最小)的元素,放到第一个位置然后到剩余的元素里找到第二大(小)的元素放到第二个,因此类推,就可以得到一个排 ...

  7. c 冒泡排序_C语言中选择排序和冒泡排序

    点击上方"C语言中文社区",选择"设为星标★" 技术干货第一时间送达! 来源:https://blog.csdn.net/zjy18886018024/cate ...

  8. 蛮力法查找有序数列c语言,算法——蛮力法之选择排序和冒泡排序c++实现

    这次实现的是蛮力法中的两个例子,选择排序法和冒泡排序法,使用的编译环境是vs2013,下面对这两个算法做一个简单介绍,然后是两个算法的c++实现代码. 选择排序法比较的范围是整个列表,每次扫描结束找出 ...

  9. 各种排序算法以及扩展(选择排序,冒泡排序,插入排序,归并排序,最小和问题,堆排序,荷兰国旗问题,快速排序)

    文章目录 基础算法一二课 选择排序 冒泡排序 插入排序 判断数据是否在数组中 找满足>=value的最左位置 ^ 异或符号的多用 一.进行交换 二.数组中有一种数出现了奇数次,其他数都出现了偶数 ...

最新文章

  1. 无法打开 configsource 文件
  2. 企业传播可以考虑放弃公众号了
  3. 技术人员兼职招聘平台HourlyHerd融资2200万美元C轮融资
  4. SQLServer Profiler 跟踪器
  5. autohotkey+txt (3)+获得鼠标坐标
  6. 差距缩小 WLAN市场销量逼近有线网络
  7. linux中查找grep与find命令的使用
  8. 图像处理: 超像素(superpixels)分割 SLIC算法
  9. Java编程题:年会抽奖(错排问题)
  10. 数学中最神奇的常数-无理数e的由来
  11. 南京邮电大学汇编——实验一:汇编语言语法练习与代码转换
  12. macOS - 安装 swig 、PCRE
  13. 23岁的Python,这些年在编程语言排行榜上直线上升的原因是什么?很多人都不解
  14. word方框中打√符号的方法
  15. ohoTips - 最屌的消息弹窗工具!
  16. 标点符号的英语名称翻译
  17. STorM32 BGC 相关
  18. webpack4踩坑——图片打包
  19. 联邦学习(FL)+差分隐私(DP)
  20. Android RecyclerView数据错乱问题

热门文章

  1. dos与ddos攻击原理
  2. Linux Rootkit 系列四:对于系统调用挂钩方法的补充
  3. 用adb命令启动停止Android程序
  4. 一段汇编码学习 CLD LODSB stosw
  5. 关于对cpu的理解和kvm虚拟机到物理cpu的绑定
  6. Win2K下关联进程/端口之代码初步分析
  7. Ubuntu 11.10中用xen-tools安装虚拟机(UbuntuCentOS)
  8. gin post 数据参数_Gin 使用示例(四):绑定查询字符串或 POST 数据
  9. oracle日志版本不同,Oracle重做日志文件版本不一致问题处理
  10. c++ vector 中的坑