【Java】五种常见排序之-----------冒泡排序
冒泡排序:
- 原理: 将关键字较小的值不断地上浮,将关键字值较大的不断下沉;
- 时间复杂度: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;//待输入的数组规模npublic 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】五种常见排序之-----------冒泡排序相关推荐
- Java几种常见排序算法与代码实现
前言: 排序算法也算是每年校招.春招.社招都会问到的问题,虽然每次复习了就忘,但是也可以隔一段时间又拿出来看看. 其中,排序方式指,内部还是外部排序.只需要内部内存就可以的称为内部排序,数据量太大需要 ...
- JAVA数组中五种常见排序方法
前言: 几种常用的JAVA数组排序方法的整合. 法一:Arrays.sort() Arrays.sort()排序方法在java中是最简单且最常用的排序方法 int []arr1= {45,34,59, ...
- java数组排序法方法_JAVA数组中五种常见排序方法
前言: 几种常用的JAVA数组排序方法的整合. 法一:Arrays.sort() Arrays.sort()排序方法在java中是最简单且最常用的排序方法 int []arr1= {45,34,59, ...
- java简述常见的布局极其特点_请简要说明 Android 中五种常见布局的特点。_学小易找答案...
[简答题]请简要说明有序广播和无序广播的区别 [简答题]请简要说明 Android 程序结构中 AndroidManifest.xml 的功能? [简答题]简述李村站人工办理进路的作业过程. [简答题 ...
- Java swing五种常见的布局方式【转载】
Java swing五种常见的布局方式 1. 边界布局(BorderLayout) 2.流式布局(FlowLayout) 3.网格布局(GridLayout) 4.盒子布局(BoxLaYout) 5. ...
- 五种常见的PHP设计模式
2019独角兽企业重金招聘Python工程师标准>>> 五种常见的PHP设计模式 设计模式 一书将设计模式引入软件社区,该书的作者是 Erich Gamma.Richard Helm ...
- Ajax 和 XML: 五种常见 Ajax 模式
Asynchronous JavaScript + XML(Ajax)无疑是 2006 年最热门的技术术语,且有望在 2007 得到进一步发展.但是对您的应用程序来说它究竟有什么意义呢?Ajax 应用 ...
- [Android Studio]掌握Android Studio的五种常见控件和五种常见布局
目录 一.View和ViewGroup 二.Android的五种常见控件 2.1 文本控件 2.1.1 TextView 2.1.2 EditText 2.2 按钮控件 2.2.1 Button 2. ...
- JAVA四种基本排序总结
JAVA四种基本排序,包括冒泡法,插入法,选择法,SHELL排序法.其中选择法是冒泡法的改进,SHELL排序法是 插入法的改进.所以从根本上来说可以归纳为两种不同的排序方法:即:插入法&冒泡法 ...
最新文章
- 安装 SharePoint 2013
- bitnami-redmine邮件告警配置
- leetcode105. 从前序与中序遍历序列构造二叉树(递归)
- 西密歇根大学计算机科学,西密歇根大学
- asp.net mvc 依赖缓存启动项配置
- 长大了还不如小时候那么能够坚持了
- intellij HTTP状态 404 - 未找到_IntelliJ静态分析竟有代码检测优化,删除冗余等功能...
- 【C语言编程】切比雪夫多项式
- MATLAB Radon检测图像,初学radon变换 检测直线 matlab程序实现
- 图像识别距离算法matlab
- 计算机指令vbs,vbs脚本大全,配有实例 DOS命令,批处理 脚本 代码
- 网传前端大神司徒正美突发病逝,再度思考健康与金钱
- unity学习之NGUI做NPC对话
- 项目管理六大制约因素_项目管理有哪些主要风险及如何控制
- 烽火HG680-MC_TTL免费升级固件及教程
- 快手,抖音,美拍打造个人IP精准引流!
- 中国女篮姐妹花杨舒予、杨力维成为护肤品牌佰草集太极首组代言人
- cuda的安装,及pytorch调用GPU步骤
- [FromLOL]了解其他职业
- 提取html string,c#从html中提取文本
热门文章
- 为什么要用 redis/为什么要用缓存
- 解决redis-cli连接时出现Could not connect to Redis at 127.0.0.1:6379: Connection refused
- 程序语言基础:解释程序基本原理笔记
- 数据库:SQLServer 实现行转列、列转行用法笔记
- 用VS2017开发安卓应用
- 3大原则让你的编程之路越走越顺
- mysql having和where_浅谈Mysql中where和having的区别
- 树莓派的几种登录方式及树莓派的网络配置
- java 类型转换方法_java数据类型转换的常见方法
- 一份 2.5k star 的《React 开发思想纲领》