Java冒泡算法(优化版)
话不多说,直接上代码(注释很详细)
int [] array = {1,2,4,3,4,6,4,9,34,22,4};boolean flag = true; //用于优化循环次数,当十个元素,正常需要冒泡九次,但是如果数组在冒泡第五次的时候顺序就已经是从小到大排序好了,后面的循环就多余了int val = 0; //相邻元素交换,存储交换值int count = 0; //记录交换次数for(int i=0;i<array.length-1;i++) {for(int j=0;j<array.length-1-i;j++) { //-i-i: 每冒泡一次,都会确定一次最大的元素,放在最后一位,所以每次内循环就可以减少一次循环次数flag = false;if(array[j]>array[j+1]) { //冒泡val = array[j];array[j] = array[j+1];array[j+1] = val;flag = true; //记录是否交换元素,如果没有交换,则退出循环} }if(flag==false) {System.out.println("冒泡结束");break;}count++;System.out.println(Arrays.toString(array)); //每次冒泡,输出本次结果}System.out.println(Arrays.toString(array));System.out.println("冒泡次数:"+count);
Java冒泡算法(优化版)相关推荐
- Java冒泡算法和代码详述
Java冒泡算法和代码详述 冒泡排序算法是Java排序算法中最基本,也是最有名的算法之一 代码分为两层循环,外层冒泡轮数,里层依次比较 代码说明: package arrays;import java ...
- java冒泡法优化_数据结构java版之冒泡排序及优化
冒泡排序的时间用大O表示法是O(N^2). 传统的冒泡排序: /** * @param total 要排序的数组长度 */ public void sort(int total){ int num[] ...
- java 数独算法_java版数独游戏核心算法(一)
之前学习javascript时用javascript写过一个数独游戏,最近看了一点java的内容,于是就心血来潮想搞一个java版的数独游戏. 现在将全部代码分享出来和大家学习交流,当然代码中有着各种 ...
- java 冒泡排序算法优化
1.冒泡排序优化思想 在文章<JAVA实现冒泡排序算法>中,我们用常规算法实现了冒泡排序,在此篇中,我们对冒泡排序算法进行优化,思想如下:引入一个标志位,默认为true,如果本次或者本趟遍 ...
- 请写一个java冒泡算法
我不是很熟悉Java,但是冒泡排序算法的思路很简单:从第一个元素开始,比较相邻的两个元素,如果第一个比第二个大,就交换它们.每次遍历结束,最大的元素就会被移动到最后一个位置.重复此过程,直到所有元素都 ...
- java快速排序算法_JAVA版排序算法之快速排序示例
本文实例讲述了JAVA快速排序实现方法.分享给大家供大家参考,具体如下: package com.ethan.sort.java; import java.util.Arrays; import ja ...
- java 冒泡算法_关于java中的冒泡算法
/**输入一些数字,要求按顺序输出*/importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamR ...
- 【算法图解】第七章:7.5(狄克斯特拉算法优化版)
请求参数为:图对应的散列表graph,开始节点start(可选,不选默认为'start') def solution(graph, start='start'):processed = [] # 定义 ...
- java基础算法优化解决兔子数量以及拓展
package javaBlog;/* 古典问题:3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 分析:首先我们要明白题目的意思指的是每 ...
- Java实现冒泡算法及优化冒泡算法
基本思想 冒泡排序(Bubble Sort)通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序(前后大小与要求的顺序不一致)则交换,使值较大的元素逐渐从前移向后部,就象 ...
最新文章
- 微信小程序,是不是一盘可口的菜!
- android socket_盘点Android常用Hook技术
- mySql 主从复制linux配置
- 重磅!!面试季--最新面试题总结出厂,附题解,后期持续分享!
- 【CV】带你入门多目标跟踪(一)领域概述
- c语言程序加仿真,求助。C语言的程序和仿真
- Imagelist 控件
- YL杯超级篮球赛(jzoj 1325)
- JS只能输入数字,数字和字母等的正则表达式
- 华为EMUI 11开启公测 这十款机型率先尝鲜
- 设计模式第四篇-工厂模式
- 一线实践 | 借助混沌工程工具 ChaosBlade 构建高可用的分布式系统
- Kafka(下):Kafka消费者API,producer拦截器(interceptor)及案例,kafka流Streams,Stream数据清洗案例,Kafka配置信息,flume对接Kafka
- 【Godot】拖放的逻辑
- yii 高级版后台清理前台的缓存
- windows功能_四款功能强大的windows软件,个个都是精品!
- 动态规划-类数塔问题(在一个n* m的方格中,m为奇数,放置有n*m个数)
- Pantoea(泛菌属)——肠道内善恶兼备的神秘细菌
- solr mysql增量导入_10.Solr4.10.3数据导入(DIH全量增量同步Mysql数据)
- 去广告插件——火狐浏览器
热门文章
- android4.4 计算器,卡西欧仿真计算器
- upx脱壳教程(buuctf逆向题新年快乐)
- 国内外sns源码搜集
- android 左移动画_android 动画Animation之TranslateAnimation移动
- 人工智能降噪插件Topaz DeNoise AI
- php将文字生成图片显示,php生成文字图片效果
- 编程语言Netty原理浅析
- access通过身份证号提取性别_身份证号码男女函数(excel中关于18位身份证号的提取性别公式)...
- SSM项目实战之八:静态资源文件的整合
- Windows系统删除文件时提示找不到该项目,无法删除时的解决办法