冒泡排序:

  • 原理: 将关键字较小的值不断地上浮,将关键字值较大的不断下沉;
  • 时间复杂度:O(n^2)
  • 空间复杂度:最优(即已经排好序)为0,平均空间复杂度为O(1);
  • 核心代码:

for(int i=0;i<n;i++){

for(int j=i;j<n;j++){

if(num[i]>num[j]){//数值较大的数进行交换下沉

int temp;

temp=num[i];

num[i]=num[j];

num[j]=temp;

}

}

}

【Java实现完整代码】

package paixu;
/**
* @author xpengfei
*/
import java.util.Scanner;
/*
* 效率最低的冒泡排序
* 说明冒泡排序的时间复杂度符合O(n^2)。
* 时间复杂度,最优与最差都需要[n*(n-1) ] / 2次比较,所以时间复杂度为O(n^2).
* 空间复杂度,最优即已排好序,空间复杂度为0;平均空间复杂度为O(1)。
*/
public class sortOne {
Scanner input=new Scanner(System.in);
private int[]num;//存放随机数数组
private int n;//待输入的数组规模n
public sortOne(){//构造函数,初始化数组;
System.out.println("请输入数组大小N的值:");
n=input.nextInt();
num=new int[n];
System.out.println("随机生成的数组如下:");
for(int i=0;i<n;i++){
num[i]=(int)(Math.random()*1000);
System.out.println(num[i]);
}
}
public void sort(){//冒泡排序核心算法
for(int i=0;i<n;i++){
for(int j=i;j<n;j++){
if(num[i]>num[j]){//数值较大的数进行交换下沉
int temp;
temp=num[i];
num[i]=num[j];
num[j]=temp;
}
}
}
}
public void displayResult(){//该函数将排好序的数组进行有序输出
System.out.println("数组排序后的结果为:");
for(int i=0;i<n;i++){
System.out.println(num[i]);
}
}
public static void main(String []args){
sortOne sone=new sortOne();
sone.sort();
sone.displayResult();
}
}

转载于:https://www.cnblogs.com/xpfei/p/7450815.html

【Java】五种常见排序之-----------冒泡排序相关推荐

  1. Java几种常见排序算法与代码实现

    前言: 排序算法也算是每年校招.春招.社招都会问到的问题,虽然每次复习了就忘,但是也可以隔一段时间又拿出来看看. 其中,排序方式指,内部还是外部排序.只需要内部内存就可以的称为内部排序,数据量太大需要 ...

  2. JAVA数组中五种常见排序方法

    前言: 几种常用的JAVA数组排序方法的整合. 法一:Arrays.sort() Arrays.sort()排序方法在java中是最简单且最常用的排序方法 int []arr1= {45,34,59, ...

  3. java数组排序法方法_JAVA数组中五种常见排序方法

    前言: 几种常用的JAVA数组排序方法的整合. 法一:Arrays.sort() Arrays.sort()排序方法在java中是最简单且最常用的排序方法 int []arr1= {45,34,59, ...

  4. java简述常见的布局极其特点_请简要说明 Android 中五种常见布局的特点。_学小易找答案...

    [简答题]请简要说明有序广播和无序广播的区别 [简答题]请简要说明 Android 程序结构中 AndroidManifest.xml 的功能? [简答题]简述李村站人工办理进路的作业过程. [简答题 ...

  5. Java swing五种常见的布局方式【转载】

    Java swing五种常见的布局方式 1. 边界布局(BorderLayout) 2.流式布局(FlowLayout) 3.网格布局(GridLayout) 4.盒子布局(BoxLaYout) 5. ...

  6. 五种常见的PHP设计模式

    2019独角兽企业重金招聘Python工程师标准>>> 五种常见的PHP设计模式 设计模式 一书将设计模式引入软件社区,该书的作者是 Erich Gamma.Richard Helm ...

  7. Ajax 和 XML: 五种常见 Ajax 模式

    Asynchronous JavaScript + XML(Ajax)无疑是 2006 年最热门的技术术语,且有望在 2007 得到进一步发展.但是对您的应用程序来说它究竟有什么意义呢?Ajax 应用 ...

  8. [Android Studio]掌握Android Studio的五种常见控件和五种常见布局

    目录 一.View和ViewGroup 二.Android的五种常见控件 2.1 文本控件 2.1.1 TextView 2.1.2 EditText 2.2 按钮控件 2.2.1 Button 2. ...

  9. JAVA四种基本排序总结

    JAVA四种基本排序,包括冒泡法,插入法,选择法,SHELL排序法.其中选择法是冒泡法的改进,SHELL排序法是 插入法的改进.所以从根本上来说可以归纳为两种不同的排序方法:即:插入法&冒泡法 ...

最新文章

  1. 安装 SharePoint 2013
  2. bitnami-redmine邮件告警配置
  3. leetcode105. 从前序与中序遍历序列构造二叉树(递归)
  4. 西密歇根大学计算机科学,西密歇根大学
  5. asp.net mvc 依赖缓存启动项配置
  6. 长大了还不如小时候那么能够坚持了
  7. intellij HTTP状态 404 - 未找到_IntelliJ静态分析竟有代码检测优化,删除冗余等功能...
  8. 【C语言编程】切比雪夫多项式
  9. MATLAB Radon检测图像,初学radon变换 检测直线 matlab程序实现
  10. 图像识别距离算法matlab
  11. 计算机指令vbs,vbs脚本大全,配有实例 DOS命令,批处理 脚本 代码
  12. 网传前端大神司徒正美突发病逝,再度思考健康与金钱
  13. unity学习之NGUI做NPC对话
  14. 项目管理六大制约因素_项目管理有哪些主要风险及如何控制
  15. 烽火HG680-MC_TTL免费升级固件及教程
  16. 快手,抖音,美拍打造个人IP精准引流!
  17. 中国女篮姐妹花杨舒予、杨力维成为护肤品牌佰草集太极首组代言人
  18. cuda的安装,及pytorch调用GPU步骤
  19. [FromLOL]了解其他职业
  20. 提取html string,c#从html中提取文本

热门文章

  1. 为什么要用 redis/为什么要用缓存
  2. 解决redis-cli连接时出现Could not connect to Redis at 127.0.0.1:6379: Connection refused
  3. 程序语言基础:解释程序基本原理笔记
  4. 数据库:SQLServer 实现行转列、列转行用法笔记
  5. 用VS2017开发安卓应用
  6. 3大原则让你的编程之路越走越顺
  7. mysql having和where_浅谈Mysql中where和having的区别
  8. 树莓派的几种登录方式及树莓派的网络配置
  9. java 类型转换方法_java数据类型转换的常见方法
  10. 一份 2.5k star 的《React 开发思想纲领》