Java数组常用排序算法

news/2024/10/30 9:32:50/

1.冒泡排序

冒泡排序的基本思想是比较相邻的元素值,如果满足条件就交换元素值,把较小的元素移动到数组前面,把较大的元素移动到数组后面。交换两个元素的位置。

import java.util.Arrays;/*** @author qx* @date 2023/06/04* @desc 冒泡排序*/
public class BubbleSort {public static void main(String[] args) {// 创建一个整形数组int[] arr = {45, 18, 27, 36, 25};sort(arr);System.out.println(Arrays.toString(arr));}/*** 冒泡排序** @param array 数组* @return 冒泡排序后的数组*/private static int[] sort(int[] array) {for (int i = 1; i < array.length; i++) {for (int j = 0; j < array.length - i; j++) {// 比较两个相邻的元素,较大的元素往后冒泡if (array[j] > array[j + 1]) {// 存储较大的元素到一个临时变量int temp = array[j];// 把较小的元素往前排array[j] = array[j + 1];// 把较大的元素排在后面array[j + 1] = temp;}}}return array;}
}

2.直接选择排序

直接选择排序的基本思想是将指定排序位置元素与其他数组元素分别对比,如果满足条件就交换元素值,不是交换相邻元素,而是把满足条件的元素与指定的排序位置元素交换。这样排序号的位置逐渐扩大,直到把整个数组都变成已排序好的格式。

/*** @author qx* @date 2023/06/05* @desc 选择排序*/
public class SelectSort {public static void main(String[] args) {int[] array = {70, 8, 36, 11, 6, 23};sort(array);}private static void sort(int[] array) {int index;for (int i = 1; i < array.length; i++) {index = 0;for (int j = 1; j <= array.length - i; j++) {if (array[j] > array[index]) {index = j;}}// 交换在位置array.length-i和index上的两个数int temp = array[array.length - i];array[array.length - i] = array[index];array[index] = temp;}showArray(array);}/*** 遍历数组*/private static void showArray(int[] array) {for (int temp : array) {System.out.print(">" + temp);}System.out.println();}
}


http://www.ppmy.cn/news/230812.html

相关文章

EFCore双向导航属性配置

在实际项目开发中&#xff0c;对于主从结构的一对多表关系&#xff0c;可以声明双向导航属性。 关系即可以配置在主表中也可以配置在从表中 例如&#xff1a;文章和文章评论是一对多的关系&#xff0c;一篇文章可能有多个评论 文章表 public class Article{public long Id { …

找不到模块“@emotion/react/jsx-runtime”或其相应的类型声明。

在Vite中使用Typescirpt&#xff0c;React,emotion/react/jsx-runtime 报错 "找不到模块“emotion/react/jsx-runtime”或其相应的类型声明“ 在vite-env.d.ts中添加&#xff1a; declare module "emotion/react/jsx-runtime" {export default any; }即可。

华为畅享9计算机在哪里,华为畅享9nfc功能在哪

大家好&#xff0c;我是时间财富网智能客服时间君&#xff0c;上述问题将由我为大家进行解答。 华为畅享9是不支持NFC功能的。nfc可以应用于支付领域&#xff0c;具有较高的安全性&#xff0c;华为畅享9定于入门级智能手机&#xff0c;为了节省成本&#xff0c;因此没有配备NFC…

畅享9能改鸿蒙,华为畅享9带nfc功能吗

华为畅享9不支持NFC功能。 华为畅享9是华为发布的一款智能手机&#xff0c;于2018年12月17日在长沙正式发布。华为畅享9屏幕尺寸6.26英寸&#xff0c;19:9比例1520乘720分辨率。8.1mm机身厚度&#xff0c;2.5D弧面玻璃&#xff0c;仿金属喷涂中框。后置1300万200万像素双摄&…

华为手机畅享9怎么查计算机历史记录,华为畅享9Plus的备忘录内容误删了怎么办?...

原标题&#xff1a;华为畅享9Plus的备忘录内容误删了怎么办&#xff1f; 赵怡买了一款新手机华为畅享9Plus&#xff0c;喜欢用备忘录记录事情的她&#xff0c;便开始用手机自带的备忘录软件记录事情了。 备忘录上记录的事情&#xff0c;如果完成了她一般会直接进行删除&#xf…

华为畅享10plus计算机,华为畅享10 Plus的处理器型号是什么,打游戏怎么样

尽管定位千元机&#xff0c;但这并不意味着这部手机“性能羸弱”&#xff0c;事实上华为畅享10 Plus的核心配置在千元机价位上处于中上游&#xff0c;因此在性能方面&#xff0c;华为畅享10 plus搭载了麒麟710F处理器&#xff0c;虽然处理器的性能有些弱&#xff0c;不过却支持…

华为畅享20plus支持鸿蒙系统吗,华为畅享20 plus有nfc吗?畅享20 plus支持红外功能吗?...

华为畅享20 plus终于正式发布了&#xff01;那么在畅享20 plus的小功能配件表现怎么样呢&#xff1f;比如说大家非常关心的nfc和红外功能。那么华为畅享20 plus有nfc吗?华为畅享20 plus支持红外功能吗?小编告诉你答案&#xff01; 华为畅享20 plus有nfc吗? 华为畅享20 plus没…

OPPOReno4SE和华为畅享20Plus 哪个好

OPPOReno4SE&#xff1a;6.43英寸的AMOLED屏幕&#xff0c;刷新率为90Hz&#xff0c;分辨率为1080x2400&#xff0c;屏占比超过90%&#xff0c;重量为186g&#xff0c;拥有超闪蓝、超闪黑、超闪白三种手机配色&#xff1b; oppoReno4se更多使用感受和评价&#xff1a;https://w…