当前位置: 首页 > news >正文

不同参数类型的冒泡排序

冒泡排序(Bubble Sort)是一种简单的排序算法,它通过重复地遍历待排序的列表,比较相邻的元素并交换它们的位置来实现排序。该算法的名称来源于较小的元素会像"气泡"一样逐渐"浮"到列表的顶端。

1、算法步骤(以降序为例)

  • 比较两个相邻元素之间的大小:从第一个元素开始,比较相邻的两个元素。

  • 交换位置:如果左边的元素比右边的元素小则交换位置(降序,最小的元素在末尾,最大的元素在开头)

  • 重复遍历:对列表中每一对相邻元素重复上述步骤,直到列表末尾,这样,最小的元素就会冒泡到末尾。所以每一轮排序完,都会有一个元素在正确位置,故而忽略已经排好序的元素,只对未排序的元素进行排序(体现在内层for循环中)

过程分析

//假设有一个数组arr=[16,11,15,8,23,12],(降序)
第一轮:(外层循环)

以下过程是内循环

  • 比较16和11,16>11,不交换位置,当前数组为[16,11,15,8,23,12]

  • 比较11和15,11<15,交换位置,当前数组为[16,15,11,8,23,12]

  • 比较11和8,11>8,不交换位置,当前数组为[16,15,11,8,23,12]

  • 比较8和23,8<23,交换位置,当前数组为[16,15,11,23,8,12]

  • 比较8和12,8<12,交换位置,当前数组为[16,15,11,23,12,8]

观察上面过程可知8是数组最小元素,已经回到正确位置,所以第二轮循环中,两两比较可以不考虑末尾元素,也就是内循环的次数变为 arr.length-i-1.

2. 数组类型的冒泡排序

package paixu;import java.util.Arrays;
import java.util.List;public class maopao{public static void main(String[] args){int[] arr={16,11,15,8,23,12};//待排序数组System.out.println("排序之前的数组"+Arrays.toString(arr));sort(arr);System.out.println("排序之后的数组"+Arrays.toString(arr));}public static void sort(int[] arr){for(int i=0;i<arr.length-1;i++){    //排序轮数for(int j=0;j<arr.length-i-1;j++){//-i是因为每一轮都有一个元素回到正确位置if(arr[j]<arr[j+1]){//交换位置int temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}}}

结果

image

3.列表类型数据

代码示例

package paixu;import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;public class maopao{public static void main(String[] args){int[] arr={16,11,15,8,23,12};List<Integer> list=new ArrayList<>();//创建列表for(int num :arr){//把数组中的数据加载到列表中list.add(num);}System.out.println("排序之前的列表"+list);sort(list);System.out.println("排序之后的列表"+list);}public static void sort(List<Integer> list){//List型数据for(int i=0;i<list.size()-1;i++){for(int j=0;j<list.size()-i-1;j++){if(list.get(j)<list.get(j+1)){int temp=list.get(j);list.set(j,list.get(j+1));list.set(j+1,temp);}}}}}

运行结果

image

4.列表数据类型(列表中存放Map)

代码示例:

package paixu;import java.util.*;public class maopao{public static void main(String[] args){List<Map<String,Integer>> mapList=new ArrayList<>();Map<String,Integer> map1=new HashMap<>();Map<String,Integer> map2=new HashMap<>();Map<String,Integer> map3=new HashMap<>();Map<String,Integer> map4=new HashMap<>();Map<String,Integer> map5=new HashMap<>();//在map映射表放入数据map1.put("age",18);map2.put("age",20);map3.put("age",26);map4.put("age",5);map5.put("age",9);//在列表添加数据mapList.add(map1);mapList.add(map2);mapList.add(map3);mapList.add(map4);mapList.add(map5);System.out.println("排序之前的列表");for(Map<String,Integer> map: mapList){System.out.println(map);}sort(mapList);System.out.println("排序之前的列表");for(Map<String,Integer> map: mapList){System.out.println(map);}}public static void sort(List<Map<String,Integer>> list){//List型数据for(int i=0;i<list.size()-1;i++){for(int j=0;j<list.size()-i-1;j++){if(list.get(j).get("age")<list.get(j+1).get("age")){Map<String,Integer> temp=list.get(j);list.set(j,list.get(j+1));list.set(j+1,temp);}}}}}

运行结果

image

http://www.jsqmd.com/news/452913/

相关文章:

  • vda19清洁度检测仪推荐:苏州西恩士工业,双标合规,检测更精准 - 工业干货社
  • 2026祛痘产品推荐清单 口碑与效果兼具的祛痘品牌整理 - 资讯焦点
  • 2026年玻璃膜源头厂家费用盘点,装饰玻璃膜供应商排名 - 工业品牌热点
  • 2026年自转公转搅拌机/离心脱泡机厂家实力推荐:上海净信实业,真空/行星式脱泡设备适配新能源与实验室多场景应用 - 品牌推荐官
  • iso16232清洁度检测设备器排行出炉,苏州西恩士工业携手奥林巴斯名列前茅 - 工业干货社
  • 写毕业论文最好用的ai?6款AI论文生成神器指南,开题+初稿+查重+AIGC高效完成! - 掌桥科研-AI论文写作
  • 探寻2026年广州地区宝宝理发器电动静音价格行情 - mypinpai
  • 进入项目虚拟环境方法
  • 2026年聚酯多元醇最新推荐榜单:危废资源化与高性能结合的行业标杆选择 - 博客湾
  • 唐茶序成功申报商务部特许经营许可 2026年全国开放加盟 - 资讯焦点
  • 2026年靠谱的硅胶干燥剂厂家推荐:衣柜干燥剂/余姚环保干燥剂/余姚集装箱干燥剂用户口碑认可参考(高评价) - 行业平台推荐
  • 2026年北京口碑好的插座跳闸维修服务中心推荐,专业维修企业全解析 - 工业推荐榜
  • 自动清洁度清洗萃取装置优选:苏州西恩士工业,精准控制,行业TOP1 - 工业干货社
  • 2026广东毫米级/微型精密加工优质厂家推荐榜 - 资讯焦点
  • 深入解析:WinForm的“现代感输入框“:Ant Design如何设计?——企业级UI重构终极指南
  • 数圈商学院首期内训课在成都举行 - 资讯焦点
  • Pytorch-扩散模型库
  • 2026年知名的脱硫催化剂厂家推荐:甲醇催化剂/宁波脱硫催化剂/丁辛醇液相加氢催化剂好评厂家曝光 - 行业平台推荐
  • 甲方HRVP手记:在深圳筛选靠谱高端猎头伙伴的三板斧与避坑指南 - 资讯焦点
  • 2026年口碑好的四川数字科技数据化品牌推荐:成都数字科技数据资产公司选择指南 - 行业平台推荐
  • 2026年热门的宁波工艺包厂家推荐:乙二醇工艺包/宁波煤制乙二醇工艺包厂家实力与用户口碑参考 - 行业平台推荐
  • 真实用户反馈:2026抗皱护肤品与祛皱紧致护肤品最好的效果 - 资讯焦点
  • 2026年口碑好的车内除湿包厂家推荐:卫生间除湿包/大容量除湿包/宠物用品除湿包优质厂商精选推荐(口碑) - 行业平台推荐
  • 2026企业媒体发稿平台官方联系方式选型攻略:服务落地的4大决策要点 - 资讯焦点
  • 完整教程:Springboot计算机毕业设计疫苗预约与管理系统2wmpv(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 水蛭素品牌怎么选更靠谱?2026十大血管养护品牌深度测评:四维协同标杆之选 - 资讯焦点
  • 自动清洁度清洗萃取仪哪家技术好?苏州西恩士工业,值得信赖的国产之光 - 工业干货社
  • 2026年质量好的工艺包品牌推荐:宁波工艺包/丁辛醇工艺包/宁波丙烯酸工艺包优质供应商推荐参考 - 行业平台推荐
  • 2026年承插焊管件与阀门厂家推荐榜:法兰/弯头/三通/球阀/止回阀等工业连接件实力品牌深度解析 - 品牌企业推荐师(官方)
  • 2026年靠谱的钢管厂家推荐:螺旋钢管/涂塑钢管优质供应商推荐参考 - 行业平台推荐