四大排序方法(java版)

四大排序方法

📑前言

本文主要是【算法】——常用的排序方法的文章,如果有什么需要改进的地方还请大佬指出⛺️

🎬作者简介:大家好,我是听风与他🥇
☁️博客首页:CSDN主页听风与他
🌄每日一句:狠狠沉淀,顶峰相见

目录

  • 四大排序方法
    • 📑前言
    • 冒泡排序
    • 选择排序
    • 直接排序
    • 直接插入排序
    • 📑文章末尾

冒泡排序

排序样例数组

int num[] = {5,1,3,2,8,7};
	public static void BubbleSort(int a[]) {int len = a.length;for(int i=0;i<len-1;i++) { //每一次冒泡出最大的数for(int j=0;j<len-1-i;j++) {  //第二层for循环每次减少一次,随着排序if(a[j]>a[j+1]) {         //最大的数冒泡在最后面int temp = a[j];a[j] = a[j+1];a[j+1] = temp;}}}}public static void main(String[] args) {// TODO Auto-generated method stubint num[] = {3,5,38,15,26,27,44,4,19,2,48,50};BubbleSort(num);for(int i:num) {System.out.print(i+" ");}}

运行结果:

1 3 2 5 7 8 
1 2 3 5 7 8 
1 2 3 5 7 8 
1 2 3 5 7 8 
1 2 3 5 7 8 

选择排序

	public static void selectSort(int a[]) {//每一次都跟最小的数进行交换,就会将序列变得有序int n = a.length;int min = 0;  //min记载最小的数的下标for(int i=0;i<n-1;i++) {min = i;for(int j=i+1;j<n;j++) {if(a[min]>a[j]) {min = j;}}//如果min是i自己,则自身和自身交换,不影响结果int temp = a[min];a[min] = a[i];a[i] = temp;for(int t:a) {System.out.print(t+" ");}System.out.println();}}

运行结果:

1 5 3 2 8 7 
1 2 3 5 8 7 
1 2 3 5 8 7 
1 2 3 5 8 7 
1 2 3 5 7 8 

直接排序

	public static void DirectSort(int a[]) {int n = a.length;for(int i=0;i<n;i++) {for(int j=i;j<n;j++) {if(a[i]>a[j]) {int temp = a[i];a[i] = a[j];a[j] = temp;}}for(int t:a) {System.out.print(t+" ");}System.out.println();}}

运行结果:

1 5 3 2 8 7 
1 2 5 3 8 7 
1 2 3 5 8 7 
1 2 3 5 8 7 
1 2 3 5 7 8 
1 2 3 5 7 8 

直接插入排序

	public static void InsertSort(int a[]) {int i,j,temp;int n = a.length;for(i=1;i<n;i++) {temp = a[i];  //temp记录每一次a[i]的值if(a[i]<a[i-1]) {for(j=i-1;j>=0&&a[j]>temp;j--) {a[j+1] = a[j];  //从前往后移动}a[j+1] = temp;  //移动之后,a[i]进入空位}for(int t:a) {System.out.print(t+" ");}System.out.println();}}

运行结果:

1 5 3 2 8 7 
1 3 5 2 8 7 
1 2 3 5 8 7 
1 2 3 5 8 7 
1 2 3 5 7 8 

📑文章末尾

在这里插入图片描述

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

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

相关文章

Vue快速实践总结 · 下篇

文章目录 组件间通信方式父 --> 子通信props插槽 子 --> 父通信&#xff08;自定义事件&#xff09;任意组件通信全局事件总线消息订阅与发布 Vuex工作原理运行环境简单使用GettersmapState与mapGettersmapActions与mapMutations模块化 命名空间 VueRouter路由的作用与分…

编写算法,对n个关键字取整数值的记录序列进行整理。以使所有关键字为负值的记录排在关键字为非负值的记录之前

编写算法&#xff0c;对n个关键字取整数值的记录序列进行整理。以使所有关键字为负值的记录排在关键字为非负值的记录之前&#xff0c;要求&#xff1a; &#xff08;1&#xff09;采用顺序存储结构&#xff0c;至少使用一个记录的辅助存储空间 &#xff08;2&#xff09;算法的…

自动驾驶DCLC 功能规范

目录 1 概述Summary....................................................................................................... 4 1.1 目的Purpose....................................................................................................... 4 1.2 范围Ran…

mysql迁移到sqlserver数据库,真的超级简单

这是微软官方步骤 需要注意的地方在连接mysql时&#xff0c;如果没有驱动&#xff0c; 那记得更换SSMAforMySQL X86的版本 工具下载地址&#xff08;点击download后会弹出选项的&#xff09;&#xff1a;Download Microsoft SQL Server Migration Assistant for MySQL from Of…

数字孪生3D场景开发工具:弥补不足,开拓全新可能

随着数字化时代的来临&#xff0c;越来越多的企业和行业开始探索数字孪生技术的应用。数字孪生是指通过数字技术将现实世界中的物体、场景等复制到虚拟世界中&#xff0c;以实现实时监测、预测和优化。然而&#xff0c;在数字孪生的发展过程中&#xff0c;一些不足也逐渐浮现。…

web前端tips:js继承——寄生组合式继承

上篇文章给大家分享了 js继承中的 寄生式继承 web前端tips&#xff1a;js继承——寄生式继承 今天给大家分享一下 js 继承中的 寄生组合式继承 寄生组合式继承 寄生组合式继承是一种结合了寄生式继承和组合式继承的方式&#xff0c;它的目标是减少组合式继承中多余的调用父…

【ArcGIS Pro二次开发】(78):批量合并GDB数据库

有些GDB数据库会按分幅或行政区划进行分开储存&#xff0c;尤其是一些地形测绘或国情地理数据。 如下图所示&#xff1a; 数据是完整的&#xff0c;但使用的时候要一个一个拖进地图中&#xff0c;进行分析的时候也需要将其合并后使用。 因此就做了这个合库工具。 一、要实现的…

Peter算法小课堂—高精度乘法

给大家看个小视频13 高精度算法 乘法_哔哩哔哩_bilibili 乘法竖式 大家觉得Plan A好&#xff0c;还是Plan B好呢&#xff08;对于计算机来说&#xff09;&#xff1f;那显然是B啦 x*y问题 mul思路&#xff1a;mul()函数返回x数组乘y数组的积&#xff0c;保存在z数组。根据上…

聚焦清晰度评价指标所用到的各种算法

首先&#xff0c;我想吐槽一下&#xff0c;看了好几篇聚焦评价函数的文章&#xff0c;说到底都是一篇文章转载或者重复上传&#xff0c;介绍了将近 15 种清晰度的算法&#xff0c;原文找了半天都没找到在哪&#xff0c;最多也仅能找到一些比较早的转载。 无参考图像的清晰度评…

学习笔记小结

redis-cluster集群 redis3.0引入的分布式存储方案 集群由多个node节点组成&#xff0c;redis数据分布在这些节点当中。 在集群之中分为主节点和从节点 集群模式当中&#xff0c;主从一一对应&#xff0c;数据的写入和读取与主从模式一样&#xff0c;主负责写&#xff0c;从…

暗物质:揭秘宇宙的隐形奥秘

暗物质:揭秘宇宙的隐形奥秘 一、引言 在浩瀚的宇宙中,有一种神秘的存在,它虽然看不见、摸不着,但却对宇宙的结构和演化起着至关重要的作用。这种存在就是暗物质。暗物质的研究是天文学和物理学领域的热点之一,科学家们正在利用各种手段来揭示它的奥秘。在本文中,我们将一…

【Linux】:信号(一)产生

信号 一.前台进程和后台进程1.前台进程2。后台进程3.总结 二.自定义信号动作接口三.信号的产生1.键盘组合键2.kill信号进程pid3.系统调用1.kill函数2.raise函数3.abort函数 四.异常五.软件条件六.core文件 一.前台进程和后台进程 1.前台进程 一个简单的代码演示 像这种程序在…