冒泡和快速排序的时间复杂度_三分钟快速记住冒泡排序算法

3d51133d09fc60b23200b086c85efea8.gif

冒泡排序名字由来:

是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。

冒泡排序原理:

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

  ②、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数(也就是第一波冒泡完成)。

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

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

冒泡排序代码:

public class BubbleSort {   // 冒泡排序---基础版  public  int[] bubbleSort1(int[] arr) {     for (int i = 0; i < arr.length-1; i++) {  for (int j = 0; j < arr.length - i - 1; j++) {      if (arr[j] > arr[j + 1]) {    int temp = arr[j + 1];    arr[j + 1] = arr[j];    arr[j] = temp;      }    }        }        return arr;} // 冒泡排序---进阶版1public int[] bubbleSort2(int[] arr) {    int i=arr.length-1;//初始时,最后位置保持不变      while(i>0){        int flag =0;//每趟开始时,无记录交换        for(int j=0;j arr[j + 1]) {          flag=j;//记录交换的位置          int temp = arr[j + 1];          arr[j + 1] = arr[j];          arr[j] = temp;      }  }  i=flag; //为下一趟排序作准备    }    return arr;} // 冒泡排序---进阶版2public int[] bubbleSort3(int[] arr) {    int low=0;    int high=arr.length-1;//设置变量的初始值    while(low arr[i+1]) {          int tmp = arr[i]; arr[i]=arr[i+1];arr[i+1]=tmp;                f1=i;            }        }        high = f1;// 记录上次位置        for (int j=high; j>low; --j) {          //反向冒泡,找到最小者            if (arr[j]

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

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

相关文章

js二维数组arr中表示读取第i行第j列的是:_c++ c语言 数组与字符串

c语法7 - 数组与字符串概述定义&#xff1a;把具有相同类型的若干变量按有序形式组织起来称为数组。C语言数组属于构造数据类型。一个数组可以分解为多个数组元素&#xff0c;这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同&#xff0c;数组又可分为数…

linux安装weblogic_WebLogic的Azure虚拟机主要版本发布

作者&#xff1a;Reza Rahman我们很高兴地宣布&#xff0c;将发布在Azure Linux虚拟机上运行Oracle WebLogic Server&#xff08;WLS&#xff09;的解决方案的主要版本。该版本是与WebLogic团队共同开发的&#xff0c;是Microsoft和Oracle之间广泛合作伙伴关系的一部分。该合作…

mysql命令行导入url_Mysql 导入数据,推荐Source命令,太快了

VB&period;NET Winform的一些功能实现近段时间,开发的需要,需要写一个winform的程序.用VB.NET来写. 开发开始,需要实现一个窗体设为多文档界面 (MDI) 子窗体的容器.实现这个功能,开始找资料,得知设置一个属性:Form.I ...js&plus;css实现模态层效果在做web前端的时候,有…

python wand安装_安装PythonMagick和pythonmagickwand 步骤

在centos6.0上测试安装&#xff0c;安装前准备工作&#xff1a;###############################################################################服务器如果没有安装Jpeg v6b、libPng、FreeType 的要在安装imagemagick之前先装好&#xff0c;否则imagemagick没法读取jpeg和p…

eprime经典程序案例_小程序经典案例!写字楼里的小店铺如何利用小程序增加人流量!...

大家好&#xff0c;我是柳州木子科技&#xff0c;当前短视频营销如火如荼&#xff0c;相比之下小程序不温不火&#xff0c;我还是那句话&#xff0c;是因为小程序没有把成功案例挖掘出来&#xff0c;通过小程序卖货赚钱的大有人在。前几篇分享了小程序玩赚的文章案例&#xff0…

python 服务注册_python注册Windows服务

注册windows服务程序框架安装pywin32pip install pywin32按照下述程序框架编写代码&#xff0c;业务逻辑写main函数里即可。SMWinserviceby Davide MastromatteoBase class to create winservice in Python-----------------------------------------Instructions:1. Just crea…

怎么看电脑配置高不高_电脑店学徒写的电脑配置单处处都是“亮点”,能“气死”师傅...

无论选择哪种类型的电脑都要把重点放在电脑硬件配置上面&#xff0c;电脑的性能完全依靠硬件配置的组合情况&#xff0c;电脑的价格高低标准依据同样是看电脑硬件配置组合情况&#xff0c;对于组装电脑来说&#xff0c;那硬件组合情况就格外重要了&#xff0c;因为组装电脑的硬…

hao123电脑版主页_百度浏览器停更没关系,hao123才令人唏嘘!

月初&#xff0c;百度浏览器官网发布公告&#xff0c;“由于部门业务调整&#xff0c;官方将于2019年4月30日对产品部分功能停止服务。相关的产品包括桌面百度、百度工具栏、百度地址栏、百度极速浏览器、hao123浏览器&#xff0c;产品将不再更新&#xff0c;基本功能本地仍可使…

mysql sha256函数_MySQL8.0新特性——默认使用caching_sha2_password作为身份验证插件

mysql5.8开始将caching_sha2_password作为默认的身份验证插件该caching_sha2_password和 sha256_password认证插件提供比mysql_native_password插件更安全的密码加密 &#xff0c;并 caching_sha2_password提供了比更好的性能sha256_password。由于这些优越的安全性和性能特性 …

笔记本电脑摄像头不能用_电脑没有摄像头怎么办

现在大多数家庭电脑都没有配备摄像头&#xff0c;或者大多数普通笔记本电脑的摄像头又非常模糊&#xff0c;如果突然要用摄像头的话又不能马上买。但是手机上的摄像头又那么清楚&#xff0c;有没有办法把手机上的摄像头装到电脑上面呢&#xff1f;今天我要推荐的一款软件是Droi…

mysql创建的数据库在哪里_求助,mysql创建数据库找不到文件在哪问题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼# For advice on how to change settings please see# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html# *** DO NOT EDIT THIS FILE. Its a template which will be copied to the# *** default loca…

excel取消隐藏_猴哥讲述:对excel工作表进行隐藏和取消隐藏的操作行为

有的时候因为工作需要&#xff0c;我们会在一个工作簿中创建插入多个excel工作表&#xff0c;如果工作表越来越多&#xff0c;我们在选择操作工作表的时候很不方便&#xff0c;我们这时候就可以对excel工作表进行隐藏&#xff0c;excel工作表隐藏和取消隐藏的操作方法如下&…

mysql大量数据合并_mysql中将多行数据合并成一行数据

一个字段可能对应多条数据&#xff0c;用mysql实现将多行数据合并成一行数据例如&#xff1a;一个活动id(activeId)对应多个模块名(modelName),按照一般的sql语句&#xff1a;1 SELECT am.activeId,m.modelName2 FROM activemodel am3 JOIN model m4 ON am.modelId m.modelId5…

不同图像锐化算子提取的图像信息有哪些不同_传统图像处理

传统图像处理一、边缘检测算子①Sobel算子该算子中引入了类似局部平均的运算&#xff0c;因此对噪声具有平滑作用&#xff0c;能很好的消除噪声的影响。与Prewitt算子相比&#xff0c;Sobel算子对于像素的位置的影响做了加权&#xff0c;可以降低边缘模糊程度&#xff0c;因此效…

文本聚类分析算法_聚类分析算法综述

前 言聚类是人类认识未知世界的一种重要的认知手段。在生产和生活中,人们往往面对非常复杂的事和物,如果能够把相似的东西归为一类,有明显区别的事物分属在不同的类别中,处理起来就大为简便。所谓“物以类聚,人以群分”,说的就是这个道理。譬如人们将生物分为动物和植物,又根据…

按照标题排序mysql_Oracle EBS Form中实现点击列标题进行排序

在做EBS表单开发时&#xff0c;虽然使用folder功能提供了排序功能&#xff0c;对多行数据块可以对前三列进行指定排序&#xff0c;也可以单击前三列的列标题进行排27.1 问题描述在做EBS表单开发时&#xff0c;虽然使用folder功能提供了排序功能&#xff0c;对多行数据块可以对前…

python 三维散点图拟合曲面_python实现三维拟合的方法

from matplotlib import pyplot as plt import numpy as np from mpl_toolkits.mplot3d import Axes3D fig plt.figure() ax Axes3D(fig) #列出实验数据 point[[2,3,48],[4,5,50],[5,7,51],[8,9,55],[9,12,56]] plt.xlabel("X1") plt.ylabel("X2") #表示…

vscode导入本地jar包_go导入本地包踩坑(已解决!)

当我想要仿照C语言的大程序结构&#xff0c;来写go语言的程序&#xff0c;出现下面的报错&#xff08;ps&#xff1a;系统是windows&#xff0c;文本编辑器&#xff08;或称IDE&#xff09;是vscode&#xff09;然后vscode还会时不时地在右下角出现这样地提示信息对于go语言新手…

java应用开发_开发简单的Java应用

第一章 开发简单的Java应用1、Java语言的技术分类(1)JavaSE&#xff1a;标准版&#xff0c;开发桌面应用(2)JavaEE&#xff1a;企业版&#xff0c;Web应用(3)JavaME&#xff1a;小型版&#xff0c;嵌入式2、如何开发和运行Java程序&#xff0c;分三步走(1)编写Java源程序*.java…

python以垂直方式输出hello world_python3提问:垂直输出Hello World,全部代码不超过2行....

垂直输出”HelloWorld”&#xff0c;全部代码不超过2行。输出&#xff1a;HelloWorld------------------------------------------------#Hello_World.pya"HelloWorld"print(a[0]\na[1]\na[2]\na[3]\na[4]... 垂直输出”Hello World”&#xff0c;全部代码不超过2行。…