public class P {
public static void main(String[] args) {
//主方法用来测试冒泡排序
int arr[]={5,64,84,89,1,8,7,54,6,4,9788,2112,411,411,74,65};
P p = new P();
p.f(arr);//排序
p.f2(arr);//打印
}
//写一个冒泡算法,升序排列
public void f(int arr[]){
for (int i = 0; i <arr.length-1 ; i++) {
//i代表比较的轮数 2个数比较一轮 3个数比较2轮
//同理一个数组比较的次数应该是长度-1
for(int j=0;j<arr.length-1-i;j++){
//j表示要比较的数据的下标
//假设有5个数第一轮应该比较4次 第二轮只要比较3次
//所以比较的次数应该是arr.length-1-i
int tem;//定义一个变量 用来做中间变量
if(arr[j]>arr[j+1]){
//如果前一项大于后一项则交换前后项的值
//如果没有则不会执行if语句直接下一次循环
tem=arr[j+1];
arr[j+1]=arr[j];
arr[j]=tem;
}
}
}
}
public void f2(int arr[]){
for (int i = 0; i <arr.length ; i++) {
System.out.print(arr[i]+" ");
}
}
}
每日一题_冒泡算法
最新推荐文章于 2024-07-06 15:43:38 发布