java 字母冒泡排序_java实现冒泡排序

冒泡排序

冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。

它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误

就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经

排序完成。

这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同

碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。

原理如下:

比较相邻的元素。如果第一个比第二个大,就交换他们两个。

对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

针对所有的元素重复以上的步骤,除了最后一个。

持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较

代码的实现如下:

/**

* @Description 冒泡排序

* @Date 2020/10/12 15:54

*/

public class BubbleTest {

public static int[] bubble(int[] array){

//外层控制循环比较次数

for (int i = 0; i < array.length -1 ; i++) {

int flag = 0;//设置标志位,防止无效的循环,已经有序的数组不需要循环了

//内层比较交换大小并交换位置

for (int j = 0; j < array.length -1 -i ; j++) {

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

int temp = array[j];

array[j] = array[j+1];

array[j+1] = temp;

flag = 1;

}

}

if(flag == 0){

break;

}

}

return array;

}

public static void main(String[] args) {

int[] array = {2,6,1,8,4,6,7,3,5,4,9,3};

int[] bubbleArray = bubble(array);

System.out.print("排序后的数组为:");

for (int a : bubbleArray) {

System.out.print(a);

}

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/526318.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java修饰符的访问权限_java项目中修饰符的访问权限有哪些

java项目中修饰符的访问权限有哪些发布时间&#xff1a;2020-11-17 15:05:33来源&#xff1a;亿速云阅读&#xff1a;67作者&#xff1a;Leah这篇文章给大家介绍java项目中修饰符的访问权限有哪些&#xff0c;内容非常详细&#xff0c;感兴趣的小伙伴们可以参考借鉴&#xff0c…

java判断线程是否wait_Java并发编程之线程间通讯(上)wait/notify机制

线程间通信如果一个线程从头到尾执行完也不和别的线程打交道的话&#xff0c;那就不会有各种安全性问题了。但是协作越来越成为社会发展的大势&#xff0c;一个大任务拆成若干个小任务之后&#xff0c;各个小任务之间可能也需要相互协作最终才能执行完整个大任务。所以各个线程…

opensips mysql 认证_基于ubuntu中使用mysql实现opensips用户认证的解决方法

1 MySQL支持1.1 MySQL模块支持默认安装时&#xff0c;不包含MySQL模块。opensipsctlrc文件中包含了数据库配置的信息&#xff0c;要想让opensips支持mysql数据库&#xff0c;在编译安装的时候就要支持mysql模块。方法如下&#xff1a;(1)修改opensips中的Makefile.conf&#xf…

java 注解与反射_Java注解与反射直接上手

什么是注解(Annotation)注解顾名思义为注释、讲解&#xff0c;可以理解为一种标签或标记&#xff0c;可以用在类、方法或者域上。向类、方法等添加注解&#xff0c;相当于给他们贴上了一层标签。注解使用在使用注解时&#xff0c;在类名、方法名、域上直接用注解名即可。比如一…

java按钮退出_java – 如何在此程序中添加退出按钮?怎么样“清楚”?

我需要添加一个“清除计算器”的按钮,以及一个退出butPanel上的程序的按钮.它也需要是非常基本的Java代码,因为我是初学者,并且有一个糟糕的comp.sci.老师.我有一个带退出按钮的代码示例,但我不确定如何将它放入我的程序中.我已经尝试了这么多.此外,如果有一个更好的“错误检查…

python土味情话_Python 将土味情话语录设置为桌面壁纸

本文编写于 128 天前&#xff0c;最后修改于 128 天前&#xff0c;其中某些信息可能已经过时。41041-3yfokd0irbe.png38220-tlrmwji3zwo.pngimport osimport tempfileimport timeimport requestsimport win32apiimport win32conimport win32guifrom PIL import Image, ImageDra…

Day70力扣打卡

打卡记录 收集足够苹果的最小花园周长&#xff08;找规律 二分&#xff09; 链接 class Solution:def minimumPerimeter(self, neededApples: int) -> int:l, r 1, 10 ** 5while l < r:mid (l r) >> 1if 2 * (2 * (mid ** 3) 3 * (mid ** 2) mid) > nee…

bootstrap加载mysql数据库_bootstrap后台管理系统前后台实现(含数据库)

撰写本文档目的是让后续开发者在理解该系统架构的基础上遵循一定规范保持系统架构的合理性&#xff1b;同时也能够达到允许没有开发经验仅有web基础的入门开发者能够通过复制粘贴的方式仿照demo示例进行开发的目的。目 录1 案例调研与选取... 21.1 案例调研... 21.…

幻兽天下修复版java_宠物天下四-幻兽天下

快速搜索机型:诺基亚 N70系列(176208)7610 3230 6600 6260 6620 6630 6670 6680 6681 6682 N70 N72 ;松下: X700 X800 ;联想: P930诺基亚 N73系列(240320)N73 5320 5320XM 5320di_XM 5630XM 5700 5700XM 5710XM 5730XM 6110 6110N 6120 6120C 6120ci 6121 6122C 6124C 6210S 62…

java类spring加载_spring的加载机制?

1,今天面试官问我spring的加载机制有哪些---这么"抽象"的问题作为一个十多年经验的自己写过MVC,IOC,ORM, 等各种中间件小框架的开发人员也回答不出来~确切的说是无从谈起,不知道从哪个角度说这个事情,在我的观点里这个问题本身的问法就有问题,什么叫"加载机制&q…

java计数器策略模式_java设计模式(二十一)--策略模式

对于策略模式,我在很多面试题上看到过考察这一类的问题,这种模式也的确比较好用。 我感觉这种模式就是将不同实现的方法放到一个接口中,然后通过实现这个接口来实现不同的运行结果,这种模式有三部分构成: 策略接口 策略实现类 策略作用类(使用策略的类) 网络上的专业解释:此模式…

java负数十进制转二进制_java中负数的补码转换为十进制

C&plus;&plus;全局和静态变量初始化转自:http://www.cnblogs.com/zhenjing/archive/2010/10/15/1852116.html 对于C语言的全局和静态变量,不管是否被初始化,其内存空间都是全局的 ...eclips常用快捷键本文取自:Eclipse中常用快捷键 - yizhang88的专栏 - 博客频道 - CSD…

linux setuid函数_setuid函数解析

在讨论这个setuid函数之前&#xff0c;我们首先要了解的一个东西就是内核为每个进程维护的三个UID值。这三个UID分别是实际用户ID(real uid)、有效用户ID(effective uid)、保存的设置用户ID(saved set-user-ID)。首先说这个实际用户ID&#xff0c;就是我们当前以哪个用户登录了…

java中asl_带你认识绕不开的ASLR

微软从windows vista/windows server 2008(kernel version 6.0)开始采用ASLR技术&#xff0c;主要目的是为了防止缓冲区溢出ASLR技术会使PE文件每次加载到内存的起始地址随机变化&#xff0c;并且进程的栈和堆的起始地址也会随机改变。ASLR(Address space layout randomization…

java复杂性_java – 计算Big-O复杂性

我最终会给这个程序一个类似60,000个400像素图像的输入文件,所以我试着想一想这个代码如何用大输入运行.为了便于阅读,我用“blah”和所有带有简单字母(nn,mm和kk)的ArrayList名称替换了不重要的东西.for (Perceptron P : nn){//blah}for (Perceptron P : mm) {//blah}for (Per…

java泛型与接口_Java泛型用于方法,类和接口

什么是泛型&#xff1f;型就是数据类型参数化。就是说原本定死的数据类型像方法中的形参一样&#xff0c;数据是不确定的&#xff0c;使用的时候由人传进去&#xff0c;泛型就是这样&#xff0c;数据类型不确定了。使用的时候再确定就可以了。泛型的特点是JDK1.5的新特性泛型可…

unix系统编码 java_JAVA字符编码系列三:Java应用中的编码问题

这两天抽时间又总结/整理了一下各种编码的实际编码方式&#xff0c;和在Java应用中的使用情况&#xff0c;在这里记录下来以便日后参考。为了构成一个完整的对文字编码的认识和深入把握&#xff0c;以便处理在Java开发过程中遇到的各种问题&#xff0c;特别是乱码问题&#xff…

Java 捕获 mybatis异常_3 springboot集成mybatis和全局异常捕获

mybatis有两种方式&#xff0c;一种是基于XML&#xff0c;一种是基于注解springboot集成mybatis首先先创建表&#xff0c;这里都简化了DROP TABLE IF EXISTS user;CREATE TABLE user (id int(11) NOT NULL auto_increment,username varchar(255) default NULL,PRIMARY KEY (id)…

java背景图片加上组件_关于 java swing组件加背景图片的问题

最近自己做了一个小的进销存软件,背景图片加上后不能最大化。尝试了好几种方法 最后终于把问题解决了。下面把自己写的实例 分享一下&#xff1a;一个是在JFrame窗体中加如背景图片一个是在Jpanel 面板中加入背景图片都可以伸缩铺满整个屏幕&#xff0c;算是自己的一个小心得。…

java applet 访问文件_使用JavaApplet访问数据库

使用Java Applet访问数据库学习任何的程序语言&#xff0c;当然都得与数据库&#xff0c;Java刚刚诞生的时候&#xff0c;对数据库的支持并不是很好&#xff0c;经过这几年的发展&#xff0c;它对数据库的支持也已经完全达到了成熟的境地。由于这里主要是介绍Java Applet小程序…