java冒泡排序程序流图_java实现选择排序和冒泡排序及执行流程图解

本文介绍了Java中选择排序和冒泡排序的原理及执行流程。选择排序通过比较数组元素并交换位置逐步达到排序目的,平均时间复杂度为O(n^2)。冒泡排序同样通过相邻元素比较交换,最坏情况下也是O(n^2)。两者空间复杂度均为O(1)。文章提供了详细的代码实现及排序过程图解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、 选择排序:把第一个数与他后面的数进行比较,如果顺序则继续与后面比较,如果逆序则两数交换位置,继续将第一个数与交换位置后的数进行比较,这样就完成了第一轮排序。同理将第二位与其后的数比较,直到数组有序为止。

最好时间复杂度:O(n)     平均时间复杂度:O(n^2)        最坏时间复杂度:  O(n^2)

空间复杂度:O(1)

图解:

854270483cb8f18ddcea88b9932a841c.png

Java代码实现:

publicclass SelectOrder{

public void sort(int[] a){

int temp = 0;

for(int i=0;i

for(int j=I;j

if( a[j]

temp = a[i];

a[i] = a[j];

a[j] = temp;

}

}

for(int i=0;i

System.out.println(a[i]);

}

}

}

2、 冒泡排序:将第一个数与相邻的数进行比较,如果顺序则继续第二个数与后面相邻的书进行比较;如果逆序则交换位置,继续和后面相邻的数进行比较,完成第一趟冒泡排序。同理,直到数组有序。

最好时间复杂度:O(n)     平均时间复杂度:O(n^2)        最坏时间复杂度:  O(n^2)

空间复杂度: O(1)

l  如果经过一趟冒泡排序不发生数据交换说明数组原本有序。

图示:

1b1188a5dc104ea2df5684b3919d65b5.png

代码实现:

public class BubbleOrder {

public void bubble(int[]a){

int temp=0;

for(int i=0;i

for(intj=0;j

if(a[j]>a[j+1]){

temp = a[j];

a[j]=a[j+1];

a[j+1] =temp;

}

}

}

for(int x=0;x

System.out.println(a[x]);

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值