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

排序算法之-冒泡

顺序排序算法原理

从头开始遍历未排序数列,遍历时比较相邻的两个元素,前面的大于后面的,则双方交换位置,一直比较到末尾,这样最大的元素会出现在末尾,接着再依次从头开始遍历剩余未排序的元素,直至所有的元素都排序完成。(其实就是每次遍历时找出最大的元素,通过不断的移动位置,将其存入到未排序末尾)

算法图解

在这里插入图片描述

算法实现

/*** 顺序排序* @param arr*/public void sort(int arr[]){for(int j = arr.length-1;j>1;j--){for(int i=0;i<j;i++){if(arr[i]>arr[i+1]){int temp = arr[i];arr[i] = arr[i+1];arr[i+1] = temp;}}}}

倒序排序算法原理

顺序是从头开始遍历,倒序是从末尾开始遍历,将最大元素依次存入序列开头位置

算法图解

在这里插入图片描述

算法实现

/*** 倒序排序* @param arr*/public void revert(int arr[]){for(int j=0;j<arr.length-1;j++){for(int i=arr.length-1;i>j;i--){if(arr[i]>arr[i-1]){int temp = arr[i];arr[i] = arr[i-1];arr[i-1] = temp;}}}}

测试

public static void main(String[] args) {int arr[] = {9, 7, 1991, 27, -1, -10, 0, 2, 65, -100};BubbleSort bubbleSort = new BubbleSort();bubbleSort.sort(arr);for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + "\t");}System.out.println();int arr2[] = {9, 7, 1991, 27, -1, -10, 0, 2, 65, -100};bubbleSort.revert(arr2);for (int i = 0; i < arr2.length; i++) {System.out.print(arr2[i] + "\t");}}

结果

在这里插入图片描述

http://www.lryc.cn/news/223657.html

相关文章:

  • 【微服务】API治理发展历史与未来趋势
  • TikTok shop美国小店适合哪些人做?附常见运营问题解答
  • [OS]11.9.2023 中断
  • unity笔记
  • 二十、泛型(5)
  • Oracle递归查询树形数据
  • pycharm pro v2023.2.4(Python开发)
  • 武汉某母婴用品公司 - 集简云连接ERP和营销系统,实现库存管理的自动化
  • AD9371 Crossbar
  • 设计模式 -- 责任链模式(Chain of Responsibility Pattern)
  • 开源:特殊的垄断
  • linux安装oracle client解决cx_Oracle.DatabaseError: DPI-1047
  • 工业园区一般用多大规格的电表?
  • Debian12换镜像源
  • deeplog中输出某个 event 的概率
  • 流媒体中relay和forword的区别
  • git创建本地分支并提交到远程
  • Selenium定位元素的方法css和xpath的区别
  • 【目标检测】SSD损失函数详解
  • C【整数正序分解】
  • 基于springboot实现高校党务平台管理系统【项目源码】计算机毕业设计
  • Day24力扣打卡
  • 5G-A 商用加速,赋能工业互联网
  • 代码随想录day2
  • UML/SysML建模工具更新(2023.10)(1)StarUML、Software Ideas Modeler
  • kubectl 资源管理命令-陈述式
  • 【紫光同创国产FPGA教程】——【PGL22G第九章】HDMI环路实验例程
  • IDEA Plugin插件开发相关踩坑
  • 汽车标定技术(八)--MPC57xx是如何支持标定的页切换
  • Ubuntu中增加交换内存