冒泡排序

1 问题

利用Java实现冒泡排序。

2 方法

1.定义一个数组储存一写乱序数字

2.循环遍历数组

3.N个数字要排序完成,总共进行N-1趟排序,每i趟的排序次数为(N-i)次,所以可以用双重循环语句,外层控制循环多少趟,内层控制每一趟的循环次数。利用外层循环控制排序的趟数,数组长度为6,所以循环5次

4.这里内层循环要比外层循环少一次,就类似于外层循环从第一个数字开始,内层循环从第二个数字开始。两个数字之间进行比较大小,定义一个最大值,将大的数字就赋值给最大值,依次类推找出数组中最大的值

5.最后输出排序好的数组,由大到小排序

代码清单 1

|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| package Lq_project; public class Maopao { public static void main(String[] args) { int[] arr= {4,3,6,2,8,1};//定义一个数组 System.out.println("排序前数组为:"); //遍历循环 for(int num:arr) { num=arr[i];num<arr.length;num++){} System.out.println(num+""); } for(int i=0;i<arr.length-1;i++) { //内层循环控制每一次排序多少次,内层循环要比外层循环少一次 for(int j=0;j<arr.length-1-i;j++) { if(arr[j]>arr[j+1]) { int max=arr[j];//获取最值 arr[j]=arr[j+1];//赋值 arr[j+1]=max; } } } System.out.println(); System.out.println("排序后的数组为:"); for(int num:arr) { System.out.println(num+""); } } } |

3 结语

这次利用Java实现冒泡排序,可以加快对Java的掌握,还可以温习课堂所讲。冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。通过多次的遍历,将最大的数逐渐往后移动,直到排序完成。

相关推荐
不知天地为何吴女士1 小时前
Day32| 509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
算法
小坏坏的大世界1 小时前
C++ STL常用容器总结(vector, deque, list, map, set)
c++·算法
wjs20242 小时前
状态模式(State Pattern)
开发语言
我命由我123452 小时前
Kotlin 数据容器 - List(List 概述、创建 List、List 核心特性、List 元素访问、List 遍历)
java·开发语言·jvm·windows·java-ee·kotlin·list
liulilittle2 小时前
C++ TAP(基于任务的异步编程模式)
服务器·开发语言·网络·c++·分布式·任务·tap
励志要当大牛的小白菜4 小时前
ART配对软件使用
开发语言·c++·qt·算法
qq_513970444 小时前
力扣 hot100 Day56
算法·leetcode
武子康4 小时前
Java-80 深入浅出 RPC Dubbo 动态服务降级:从雪崩防护到配置中心秒级生效
java·分布式·后端·spring·微服务·rpc·dubbo
PAK向日葵4 小时前
【算法导论】如何攻克一道Hard难度的LeetCode题?以「寻找两个正序数组的中位数」为例
c++·算法·面试
爱装代码的小瓶子6 小时前
数据结构之队列(C语言)
c语言·开发语言·数据结构