java 对一维数组进行冒泡排序

简介: java 对一维数组进行冒泡排序

java冒泡排序对一维数组进行排序 v

 

冒泡排序

排序原理:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

Java排序代码

1. /*
2. * 冒泡排序算法
3. * */
4. public class BubbleSort {
5. public static void main(String[] args) {
6. 
7. int[] arr={20,16,42,86,201,196,58,107,92};//定义数组
8.         System.out.println("数组排序前:");
9. for (int i=0;i< arr.length;i++){
10.             System.out.println(arr[i]);
11.         }
12. //        外层从大到小循环控制循环次数
13. for (int i=arr.length-1;i>0;i--){
14. //            内层循环依次比较相邻数据大小
15. //            排序次数比数组长度小1
16. for (int j=0;j<i;j++){
17. if (arr[j]>arr[j+1]){
18. //                    交换位置
19. //                    arr[j]和arr[j+1]交换
20. //                    临时变量temp保存arr[j]
21. int temp;
22.                     temp=arr[j];
23.                     arr[j]=arr[j+1];
24.                     arr[j+1]=temp;
25.                 }
26.             }
27.         }
28.         System.out.println("数组排序后:");
29. //        输出排序完成的数组结果
30. for (int i=0;i< arr.length;i++){
31.             System.out.println(arr[i]);
32.         }
33.     }
34. }

总结

通过Java的两层循环对数组进行冒泡排序,外层从大到小循环数组,内层循环比较相邻元素大小。完成对数组的冒泡排序,OK!


相关文章
|
1天前
|
存储 监控 Java
《从头开始学java,一天一个知识点》之:数组入门:一维数组的定义与遍历
**你是否也经历过这些崩溃瞬间?** - 看了三天教程,连`i++`和`++i`的区别都说不清 - 面试时被追问&quot;`a==b`和`equals()`的区别&quot;,大脑突然空白 - 写出的代码总是莫名报NPE,却不知道问题出在哪个运算符 这个系列就是为你打造的Java「速效救心丸」!我们承诺:每天1分钟,地铁通勤、午休间隙即可完成学习;直击痛点,只讲高频考点和实际开发中的「坑位」;拒绝臃肿,没有冗长概念堆砌,每篇都有可运行的代码标本。明日预告:《多维数组与常见操作》。 通过实例讲解数组的核心认知、趣味场景应用、企业级开发规范及优化技巧,帮助你快速掌握Java数组的精髓。
43 23
|
2月前
|
存储 Java 索引
Java快速入门之数组、方法
### Java快速入门之数组与方法简介 #### 一、数组 数组是一种容器,用于存储同种数据类型的多个值。定义数组时需指定数据类型,如`int[]`只能存储整数。数组的初始化分为静态和动态两种: - **静态初始化**:直接指定元素,系统自动计算长度,如`int[] arr = {1, 2, 3};` - **动态初始化**:手动指定长度,系统给定默认值,如`int[] arr = new int[3];` 数组访问通过索引完成,索引从0开始,最大索引为`数组.length - 1`。遍历数组常用`for`循环。常见操作包括求和、找最值、统计特定条件元素等。
|
2月前
|
存储 Java 索引
Java基础(六):数组
Java基础(六):数组
36 10
Java基础(六):数组
|
2月前
|
存储 Java C++
Java数组:静态初始化与动态初始化详解
本文介绍了Java中数组的定义、特点及初始化方式。
101 12
|
5月前
|
存储 缓存 算法
Java 数组
【10月更文挑战第19天】Java 数组是一种非常实用的数据结构,它为我们提供了一种简单而有效的方式来存储和管理数据。通过合理地使用数组,我们能够提高程序的运行效率和代码的可读性。更加深入地了解和掌握 Java 数组的特性和应用,为我们的编程之旅增添更多的精彩。
54 4
|
5月前
|
存储 缓存 算法
提高 Java 数组性能的方法
【10月更文挑战第19天】深入探讨了提高 Java 数组性能的多种方法。通过合理运用这些策略,我们可以在处理数组时获得更好的性能表现,提升程序的运行效率。
68 2
|
5月前
|
存储 Java
Java“(array) <X> Not Initialized” (数组未初始化)错误解决
在Java中,遇到“(array) &lt;X&gt; Not Initialized”(数组未初始化)错误时,表示数组变量已被声明但尚未初始化。解决方法是在使用数组之前,通过指定数组的大小和类型来初始化数组,例如:`int[] arr = new int[5];` 或 `String[] strArr = new String[10];`。
144 2
|
5月前
|
机器学习/深度学习 算法 搜索推荐
让星星⭐月亮告诉你,Java冒泡排序及其时间复杂度计算
冒泡排序是一种简单的排序算法,通过多次遍历数组,每次比较相邻元素并交换位置,将较小的元素逐步移至数组前端。第一轮结束后,最小值会位于首位;第二轮则将次小值置于第二位,依此类推。经过 (n-1) 轮遍历后,数组完成排序。冒泡排序的时间复杂度为 O(n²),在最优情况下(已排序数组)时间复杂度为 O(n)。示例代码展示了如何实现冒泡排序。
124 1
|
5月前
|
算法 Java
java冒泡排序与二分查找(详解)
java冒泡排序与二分查找(详解)
70 4
|
5月前
|
Java
Java数组动态扩容和动态缩减
Java数组动态扩容和动态缩减
50 3

热门文章

最新文章