用JAVA写一个冒泡排序「建议收藏」

用JAVA写一个冒泡排序「建议收藏」一:实现思想:  基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。二:实现代码:1packagebulubulu;23publicclassMaopao{4…

大家好,又见面了,我是你们的朋友全栈君。

一:实现思想:

  基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。

 

二:实现代码:

 1 package bulubulu;
 2 
 3 public class Maopao {
 4     private static int [] a={12,64,5,4,62,99,98,54,56,17,18,23,34,15,35,25,53,51};
 5     static int temp=0;//一个临时存放点
 6     public static void main(String[] args) {
 7         for (int i = 0; i < a.length; i++) {
 8             for (int j = 0; j < a.length; j++) {
 9                 if(a[j]>a[i]){
   
   //相邻的两个数依次进行比较,如果先改变正序或反序,可以改变大小于
10                     temp=a[j];
11                     a[j]=a[i];//在三行进行一个值的移动替换
12                     a[i]=temp;
13                 }
14             }
15         }
16         for (int i = 0; i < a.length; i++) {
17             System.out.println(a[i]);
18         }
19     }
20 }

  冒泡排序的优点:每进行一趟排序,就会少比较一次,因为每进行一趟排序都会找出一个较大值。如上例:第一趟比较之后,排在最后的一个数一定是最大的一个数,第二趟排序的时候,只需要比较除了最后一个数以外的其他的数,同样也能找出一个最大的数排在参与第二趟比较的数后面,第三趟比较的时候,只需要比较除了最后两个数以外的其他的数,以此类推……也就是说,没进行一趟比较,每一趟少比较一次,一定程度上减少了算法的量;

  缺点:效率不高 (如果一个数组有n个数,那么排序完成后需要比较n*(n-1)/2次);

 

欢迎大家一起说出自己的想法。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157137.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 博客日记

    博客日记博客日记 一直想搭建好自己的网站,可是都没有坚持下去。可能对于自己时没有压力的创作,或者是说在自己觉得不好创作的时候直接一把删除是很放松的,这也导致了我从2019年开始弄到现在一个网站也没有坚持下来,就是因为自己的感受到的*删库*的成本太低了,哈哈没有办法,现在重新开始买了服务器买了域名,去备案,结果确实自己的备案被驳回来了,原因就是我的备案信息不正确。。。腾讯的客服回电话说的是比对没有任何问题,但是就是信息比对不正确,我也很迷。现在要重新备案,惨淡的八九天又要来了,不知道粤局

    2022年4月28日
    35
  • vue源码实现的整体流程解析「建议收藏」

    vue源码实现的整体流程解析「建议收藏」一、前言最近一直在使用vue做项目,闲暇之余查阅了一些关于vue实现原理的资料,一方面对所了解到的知识做个总结,另外一方面希望能对看到此文章的同学有所帮助。本文如有不足之处,还请过往的大佬批评指正。

    2022年8月4日
    6
  • spring源码搭建_springmvc常用5种注解

    spring源码搭建_springmvc常用5种注解1、Spring源码下载第一步:https://github.com/spring-projects/spring-framework从git上面下载Spring的源码第二步:下载http://services.gradle.org/distributions/(笔者采用的是4.7版本)第三步:解压gradle-4.7-all.zip,配置GRADLE_HOME和PathGRADLE_HOME…

    2022年8月12日
    9
  • 使用JAX-WS进行应用程序身份验证「建议收藏」

    使用JAX-WS进行应用程序身份验证「建议收藏」在JAX-WS中处理身份验证的常用方法之一是客户端提供“用户名”和“密码”,将其附加在SOAP请求标头中并发送到服务器,服务器解析SOAP文档并检索提供的“用户名”和“密码”从请求标头中进行,并从数据库中进行验证,或者使用其他任何方法。在本文中,我们向您展示如何实现上述“JAX-WS中的应用程序级别认证”。想法…在Web服务客户端站点上,只需将“用户名”和“密码”放入请…

    2022年7月15日
    23
  • linux ftp lcd 命令,Linux FTP命令使用实例「建议收藏」

    linux ftp lcd 命令,Linux FTP命令使用实例「建议收藏」之前我们说过linuxscp的命令,是用来两台Linux服务器之前传输数据的。那么我们如何在Linux服务器与没有SSH的虚拟主机传输数据呢,我们可以使用Linux的FTP命令来实现,下面是一些使用实例。ftpwww.centos.bz这个命令表示试图连接www.centos.bz的FTP服务器,如果成功连接上,就会要求输入FTP用户名和密码。ftp>help连接上FTP服务器后,键入…

    2025年12月6日
    4
  • Vue刷新当前页面几种方式

    Vue刷新当前页面几种方式问题:最近些日子项目中突然碰到了一个需求,再完成编辑操作之后需要进行页面刷新,通过实验有如下几种姿势可以解决需求中的问题,下面进行简单总结如下。姿势一:this.$router.go(0)这个姿势是利用了history中前进和后退的功能,传入0刷新当前页面。但是有一个问题就是页面整个刷新过程中会白屏,严重影响用户的体验感,效果不好。this.$router.go(0)姿势二:location.reload()这个姿势是利用了直接使用刷新当前页面的方法。但是同样存在有一个问题就是页

    2022年10月16日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号