用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次);

 

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • c语言入门教程–-12作用域

    c语言入门教程–-12作用域

  • C#之ArcGIS二次开发

    C#之ArcGIS二次开发根据图层名称获取图层publicIFeatureLayergetLayer(AxMapControlaxMapControl,stringlayerName){if(axMapControl.LayerCount>0){for(inti=0;i

  • thread中join和detach的区别

    thread中join和detach的区别C++中的thread对象通常来说表达了执行的线程(threadofexecution),这是一个OS或者平台的概念。当thread::join()函数被调用,调用它的线程会被block,直到线程的执行被完成。基本上,这是一种可以用例知道一个线程已结束的机制。当thread::join()返回时,OS的执行的线程已经完成,C++线程对象可以被销毁。当thread::detach()函数

  • redis集群搭建(非常详细,适合新手)_redis集群模式

    redis集群搭建(非常详细,适合新手)_redis集群模式一、基本环境首先我们需要使用VMware配置几个虚拟机,我们需要安装VMWare然后下载自己的linux镜像文件,在虚拟机上安装linux系统,vm15和centos7下载传送门提取码:lvb5。我使用的是centos764,大致步骤可以根据其他博客将第一台虚机的系统安装成功,然后直接clone这台机器就可以了,然后需要修改ip。二、准备相关软件安装包…

    2022年10月15日
  • 从作坊到工厂_工厂和作坊的本质区别

    从作坊到工厂_工厂和作坊的本质区别作坊离工厂究竟有多远(二) smilemac 1.   软件大规模定制 在这个市场越来越起主导作用,定制的产品广受欢迎的时代,软件是否也可以做到大规模定制呢?首先看什么是软件的大规模定制。规模与产品的开发速度有关,如果一个定制的软件能够在一个月内交付,如果定制软件的交付数量可以与程序员数目成正比,我们可以将这种开发模式叫做大规模定制,如果这种结果能够出

  • 新手组装矿机_BTD挖矿

    新手组装矿机_BTD挖矿离上次发挖矿的教程已经过去两个多月了。这两个多月发生了什么事情呢?特斯拉买入15亿美刀BTC美图也不修图买BTC和ETH去了美国一大波ETF申请中加密币交易所coinbase快要上市了20多万一枚的比特币冲到了40万2100一张的二手1660s涨到4000多了…..这段时间我也没有闲着,断断续续收了十几张卡,装了三台矿机。趁着第一波投入已经回本的好心情,给大家分享一下装显卡矿机的经验。(不做投资建议,不送显卡,要不要高位站岗完全看你们自己!)我本来是没时间来.

发表回复

您的电子邮箱地址不会被公开。

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