当前位置: 首页 > 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");}}

结果

在这里插入图片描述

相关文章:

排序算法之-冒泡

顺序排序算法原理 从头开始遍历未排序数列&#xff0c;遍历时比较相邻的两个元素&#xff0c;前面的大于后面的&#xff0c;则双方交换位置&#xff0c;一直比较到末尾&#xff0c;这样最大的元素会出现在末尾&#xff0c;接着再依次从头开始遍历剩余未排序的元素&#xff0c;…...

【微服务】API治理发展历史与未来趋势

目录 一、前言 二、API治理的价值和意义 2.1 API治理概念 2.2 API治理价值和意义 2.2.1 提升团队协同效率 2.2.2 降低产品运维成本 2.2.3 识别和降低系统的外部风险 2.2.4 提供更多的拓展性 三、API生命周期管理 ​编辑 3.1 规划阶段 3.2 开发阶段 3.3 测试阶段 3…...

TikTok shop美国小店适合哪些人做?附常见运营问题解答

一、Tiktok shop小店分类 大家都知道&#xff0c;美国小店可以分为5 种&#xff1a; 美国本土个人店: 最灵活&#xff0c;有扶持政策&#xff1b;美国法人企业店&#xff1a;要求高&#xff0c;有扶持政策&#xff1b;美国公司中国人占股店 (ACCU店) : 权重相对低&#xff0c…...

[OS]11.9.2023 中断

中断向量表 CPU的设计者必须在中断信息和其处理程序的入口地址之间建立某种联系&#xff0c;使得CPU根据中断信息可以找到要执行的处理程序。 中断信息中包含有标识中断源的类型码。根据CPU的设计&#xff0c;中断类型码的作用就是用来定位中断处理程序。 比如CPU 根据中断类型…...

unity笔记

物体的各种控制方法 using System.Collections; using System.Collections.Generic; using UnityEditor; using UnityEngine;public class Componentl : MonoBehaviour {// Transform transform;GameObject obj;public float floSpeed 0;public float floRotate 0;// Start …...

二十、泛型(5)

本章概要 边界通配符 编译器有多聪明逆变无界通配符捕获转换 边界 边界&#xff08;bounds&#xff09;在本章的前面进行了简要介绍。边界允许我们对泛型使用的参数类型施加约束。尽管这可以强制执行有关应用了泛型类型的规则&#xff0c;但潜在的更重要的效果是我们可以在…...

Oracle递归查询树形数据

实际生活有很多树形结构的数据&#xff0c;比如公司分为多个部门、部门下分为多个组&#xff0c;组下分为多个员工&#xff1b;省市县的归属&#xff1b;页面菜单栏等等。 如果想查询某个节点的父节点或者子节点&#xff0c;一般通过表自身连接完成&#xff0c;但如果该节点的子…...

pycharm pro v2023.2.4(Python开发)

PyCharm是一种Python集成开发环境&#xff08;IDE&#xff09;&#xff0c;PyCharm提供了强大的功能&#xff0c;包括语法突出显示、智能代码完成、代码检查、自动重构和调试等特性&#xff0c;这些都可以帮助Python开发人员更加高效地编写代码。 PyCharm Pro是PyCharm的高级版…...

武汉某母婴用品公司 - 集简云连接ERP和营销系统,实现库存管理的自动化

品牌介绍与关怀理念 武汉某母婴用品公司是一家专注于高端孕婴童护理用品的企业&#xff0c;积极响应和关怀孕产人群&#xff0c;全方位提供从待产用品到产后护理用品&#xff0c;再到婴童洗护用品和初生婴儿用品等一系列全面的母婴产品。我们的使命是满足客户的需求&#xff0…...

AD9371 Crossbar

AD9371 系列快速入口 AD9371ZCU102 移植到 ZCU106 &#xff1a; AD9371 官方例程构建及单音信号收发 ad9371_tx_jesd -->util_ad9371_xcvr接口映射&#xff1a; AD9371 官方例程之 tx_jesd 与 xcvr接口映射 AD9371 官方例程 时钟间的关系与生成 &#xff1a; AD9371 官方…...

设计模式 -- 责任链模式(Chain of Responsibility Pattern)

责任链模式&#xff1a;和上一篇策略模式一样也是行为型模式。创建一个接收者对象的链。这种模式给予请求的类型&#xff0c;对请求的发送者和接收者进行解耦。这种模式中&#xff0c;通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求&#xff0c;那么它…...

开源:特殊的垄断

免责声明&#xff1a;本博客旨在分享我对开源策略的理解和体会&#xff0c;不代表任何组织或机构的立场或观点&#xff0c;也不构成任何商业或投资的建议或担保。本博客的内容可能存在错误或遗漏&#xff0c;也可能随着时间的推移而变得过时或不适用。请在使用或依赖本博客的内…...

linux安装oracle client解决cx_Oracle.DatabaseError: DPI-1047

背景: 需要在linux上调用python,连接oracle数据,在执行脚本是出现如下错误: 由于未安装client,所有找不到对应的文件 [root@xx wxArticle]# python main.py Traceback (most recent call last):File "main.py", line 16, in <module>oracle_db = cx_Or…...

工业园区一般用多大规格的电表?

随着我国经济的快速发展&#xff0c;工业园区在各地区如雨后春笋般崛起。作为电力系统的重要组成部分&#xff0c;电表的选择与应用对于工业园区的稳定运行至关重要。那么&#xff0c;工业园区一般用的是多大规格的电表呢&#xff1f;下面&#xff0c;小编就来给大家揭秘一下&a…...

Debian12换镜像源

0 背景 用docker运行了一个node容器&#xff0c;发现连vim也没有&#xff0c;所以打算安一个vim 1 查看操作系统 find / -name *release* #查看release信息2 更换镜像源 2.1 从网上找个国内镜像源 确定好操作系统版本后&#xff0c;从网上搜一下对应的数据源。这里提供一个…...

deeplog中输出某个 event 的概率

1 实现之后效果 # import DeepLog and Preprocessor import numpy as np from deeplog import DeepLog import torch# Create DeepLog object deeplog DeepLog(input_size 10, # Number of different events to expecthidden_size 64 , # Hidden dimension, we suggest 64…...

流媒体中relay和forword的区别

在流媒体中&#xff0c;"relay"&#xff08;中继&#xff09;和 "forward"&#xff08;转发&#xff09;是两种常见的传输方式&#xff0c;用于将流媒体从一个源传递到目标接收器。它们的区别如下&#xff1a; Relay&#xff08;中继&#xff09;&#xff…...

git创建本地分支并提交到远程

创建本地分支 git branch local_branch_name切换到本地分支 git checkout local_branch_name提交代码 git add . git commit -m "commit_message"添加远程信息 git remote add origin remote_git_address提交到远程 git push origin local_branch_name:remote_b…...

Selenium定位元素的方法css和xpath的区别

selenium是一种自动化测试工具&#xff0c;它可以通过不同的定位方式来识别网页上的元素&#xff0c;如id、name、class、tag、link text、partial link text、css和xpath。 如果对软件测试、接口、自动化、性能测试、测试开发、面试经验交流。感兴趣可以加裙485187702&#x…...

【目标检测】SSD损失函数详解

文章目录 定位损失 L l o c L_{loc} Lloc​偏移值的计算smooth L1 loss 置信率损失 L c o n f L_{conf} Lconf​ 最近看看这个古早的目标检测网络&#xff0c;看了好多文章&#xff0c;感觉对损失函数的部分讲得都是不很清楚得样子&#xff0c;所以自己捋一下。 首先&#x…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...

Pydantic + Function Calling的结合

1、Pydantic Pydantic 是一个 Python 库&#xff0c;用于数据验证和设置管理&#xff0c;通过 Python 类型注解强制执行数据类型。它广泛用于 API 开发&#xff08;如 FastAPI&#xff09;、配置管理和数据解析&#xff0c;核心功能包括&#xff1a; 数据验证&#xff1a;通过…...

【免费数据】2005-2019年我国272个地级市的旅游竞争力多指标数据(33个指标)

旅游业是一个城市的重要产业构成。旅游竞争力是一个城市竞争力的重要构成部分。一个城市的旅游竞争力反映了其在旅游市场竞争中的比较优势。 今日我们分享的是2005-2019年我国272个地级市的旅游竞争力多指标数据&#xff01;该数据集源自2025年4月发表于《地理学报》的论文成果…...

node.js的初步学习

那什么是node.js呢&#xff1f; 和JavaScript又是什么关系呢&#xff1f; node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说&#xff0c; 需要在node.js的环境上进行当JavaScript作为前端开发语言来说&#xff0c;需要在浏览器的环境上进行 Node.js 可…...

Python爬虫实战:研究Restkit库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的有价值数据。如何高效地采集这些数据并将其应用于实际业务中,成为了许多企业和开发者关注的焦点。网络爬虫技术作为一种自动化的数据采集工具,可以帮助我们从网页中提取所需的信息。而 RESTful API …...

职坐标物联网全栈开发全流程解析

物联网全栈开发涵盖从物理设备到上层应用的完整技术链路&#xff0c;其核心流程可归纳为四大模块&#xff1a;感知层数据采集、网络层协议交互、平台层资源管理及应用层功能实现。每个模块的技术选型与实现方式直接影响系统性能与扩展性&#xff0c;例如传感器选型需平衡精度与…...

20250609在荣品的PRO-RK3566开发板的Android13下解决串口可以执行命令但是脚本执行命令异常的问题

20250609在荣品的PRO-RK3566开发板的Android13下解决串口可以执行命令但是脚本执行命令异常的问题 2025/6/9 20:54 缘起&#xff0c;为了跨网段推流&#xff0c;千辛万苦配置好了网络参数。 但是命令iptables -t filter -F tetherctrl_FORWARD可以在调试串口/DEBUG口正确执行。…...

SeaweedFS S3 Spring Boot Starter

SeaweedFS S3 Spring Boot Starter 源码特性环境要求快速开始1. 添加依赖2. 配置文件3. 使用方式方式一&#xff1a;注入服务类方式二&#xff1a;使用工具类 API 文档SeaweedFsS3Service 主要方法SeaweedFsS3Util 工具类方法 配置参数运行测试构建项目注意事项集成应用更多项目…...

Continue 开源 AI 编程助手框架深度分析

Continue 开源 AI 编程助手框架深度分析 一、项目简介 Continue 是一个模块化、可配置、跨平台的开源 AI 编程助手框架&#xff0c;目标是让开发者能在本地或云端环境中&#xff0c;快速集成和使用自定义的 LLM 编程辅助工具。它通过支持 VS Code 与 JetBrains 等主流 IDE 插件…...