Java实现冒泡排序:原理及代码详解

创始人
2025-01-14 11:59:59
0 次浏览
0 评论

冒泡排序如何使用Java语言完成?

冒泡排序原理:

从第一项开始,依次比较相邻的两项,直到比较完最后两项。
如果前一个项目大于下一个项目,则交换位置。
整个过程完成后,最后一个元素为最大值,第一轮比较完成,后续的比较通过for循环依次完成。

操作码如下:

packageday01;

publicclass冒泡{

publicstaticvoidmain(String[]args){

int[]arr=newint[]{12,45,33,46,3};

System.out.println("排序前先排列项目:");

for(inti=0;i

{

System.out.print(arr[i]+"");

}

intt;

for(intj=0;j

{

for(intx=0;x

{

arr[x+1])

{

t=arr[x];

arr[x]=arr[x+1];

arr[x+1]=t;

}

System.out.println();

System.out.println("对元素顺序进行排序后:");

for(intk=0;k

{

System.out.print(arr[k]+"");

}

截图至显示结果:

扩展信息:

(1)在每轮中冒泡排序,将最大的元素放在数组末尾

(2)如果想达到闪回比较结果,可以将代码中的大小判断部分改为下面的代码。

arr[x+1])

{

t=arr[x];

arr[x]=arr[x+1];

arr[x+1]=t;

}

(3)使用知识点:使用数组长度、数组定义和循环嵌套。

冒泡排序如何使用Java语言完成?

冒泡排序的原理:

从第一个元素开始,依次比较两个相邻元素,直到比较完最后两个元素。
如果前一个元素大于后一个元素,则交换它们的位置。
整个过程完成后,最后一个元素为最大值,第一个比较循环完成,后续的比较通过for循环依次进行。

当前运行的代码是:

packageday01;

publicclassbubbling{

publicstaticvoidmain(String[]args){

publicclassbubbling{

publicstaticvoidmain(String[]args){

int[]arr=newint[]{12,45,33,46,3};

System.out.println("排序前元素的顺序:");

for(inti=0;i

{

System.out.print(arr[i]+"");

}

intt;

for(intj=0;j

{

for(intx=0;x

{

arr[x+1])

{

t=arr[x];

arr[x]=arr[x+1];

arr[x+1]=t;

}

}

}

系统.out.println();

System.out.println("排序后元素的顺序:");

for(intk=0;k

{

System.out.print(arr[k]+"");

}

运行结果截图:

扩展信息:

(1)In每轮冒泡排序,最大的元素放在数组的末尾

(2)如果想要得到闪回比较输出,可以将代码中的大小判断部分改为下面的代码。

arr[x+1])

{

t=arr[x];

arr[x]=arr[x+1];

arr[x+1]=t;

}

(3)使用知识:使用数组长度、数组定义和嵌套for循环。

用java冒泡排序和递归算法

冒泡排序

(1)基本思想:在一系列待排序的数字中,对于当前未排序范围内的所有数字,将相邻数字从上到下排序低两个数字依次进行比较和调整,使较大的数字下降,较小的数字上升。
即:每当比较两个相邻的数字,发现它们的排序与排序要求相反时,就将它们交换。

(2)使用Java实现

ublicclassbubbleSort{publicbubbleSort(){inta[]={1,54,6,3.78,34,12,45};整数温度=0;for(inti=0;ia[j]){temp=a[这];a[i]=a[j];a[j]=温度;for(inti=0;i这反映在这样一个事实:在程序中你经常会遇到调用自身的编码策略。
你可以利用简单化的思想,将一个大的、复杂的问题转化为与原来要解决的问题类似的小问题。
一个策略。
可见,我们可以用很少的指令解决非常大的问题,所以递归策略的主要表现就是用少量的代码解决非常复杂的问题。

Java代码:

包com.cjq.filedown;公共classFab{公共静态voidmain(Stringargs[]){System.out.println(fab(5));           privatestaticintfab(intindex){         if(index==1||index==2){                                                        移位1;                                                                                                                                                                                                                                    。

编写JAVA程序,用冒泡法对十个随机数由小到大顺序排序,输出排序后的结果

publicclassSequence02{publicstaticvoidmain(String[]args){int[]number=newint[10];/***生成10个随机数[0-100]。
j2se中的区间一般为[)*/for(inti=0;i*k的范围:比较前一个和后一个,选择较大的一个。
最大的是最大的是number.length*/intb;for(intj=0;j81次for(intk=0;k最好使用if(number[k]>number[k+1]){b=number[k];number[k]=number[k+1];number[k+1]=b;}}}/***打印排序结果*/System.out.println("\r排序结果为:");for(inrandom:number){System.out.print(random+"");}}}
热门文章
1
Python中的format()方法:字... formatformat在python中的含义2222.22E+00Format...

2
Python编程入门:全面解析Pytho... python的基本语法基本的Python语法如下:1.变量的定义。在编程语言中,...

3
Python字符串大小写转换方法全解析 python中字母的大小写转换怎么实现?在Python中,大小写转换由内置函数处...

4
Python字典:轻松获取最小值键与计算... python在一个字典里,返回值最小元素对应的键,救解在Python字典中,如果...

5
Python字符串去重空格:strip(... Python去除字符串中空格(删除指定字符)的3种方法在Python编程中,处理...

6
Python数组元素数量计算技巧分享 Python输出数组有多少个元素?简介:在本文中,首席CTO笔记将向您介绍Pyt...

7
简述python中pass的作用 pass语句的作用在许多编程语言中,包括Python;PASS语句用于在代码块中...

8
Python def 关键字详解:函数定... def是什么意思编程?戴夫是什么意思?def是Python中的函数定义关键字,用...

9
python不区分大小写的方法 Python字符串不区分大小写在Python中,字符串操作默认区分大小写。但有时...

10
Python字典操作全解析:添加、修改、... Pythondict字典基本操作(包括添加、修改、删除键...