首页 > 编程语言 > 详细

JAVA冒泡排序

时间:2021-08-02 23:14:13      阅读:22      评论:0      收藏:0      [点我收藏+]
package 扩展;

import java.util.Arrays;

public class Demo2 {
/**
* 冒泡排序,最出名的排序算法之一,总共有八大排序
* 两层循环,外层冒泡轮数,里层一次比较
* 1.比较两个数组中,两个相邻的元素,如果第一个数比第二个数大,就把他们的位置交换
* 2.每天一次比较就会产生一个最大或一个最小
* 3.下一轮则少一次比较
* 时间复杂度为O(n2)
*/
public static void main(String[] args) {
int[] a = {3,9,2,6,4,1,8};
int[] sort = sort(a);
//调用返回新的数组
System.out.println(Arrays.toString(sort));
}
public static int[] sort(int[] array){//数据类型int 数组array
//int[] 返回值接收
//外层循环判断要走多少次
//定义临时变量
int temp =0;
for (int i = 0; i < array.length-1; i++) {//length溢出,length-1防止溢出
boolean flage = false;
//通过flage标识位减少没有意义的比较
//内存循环,比较两个数,如果第一个数比第二个数
for (int j = 0; j < array.length-1-i; j++) {//因为得出最大的数字所以减去i
if (array[j+1]>array[j]){//如果后一个数大于当前这个数
//[9, 8, 6, 4, 3, 2, 1]
//if (array[j+1]>array[j])则为[1,2,3,4,6,8]
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;//赋值j+1
flage = true;
}
}
if (flage= false){
break;
}
}
return array;//返回array
}

}

技术分享图片

JAVA冒泡排序

原文:https://www.cnblogs.com/ZJH3098264508/p/15091723.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!