冒泡排序
1.定义
冒泡排序是8中排序方法中非常重要的一种排序的方法
2.流程
1.比较数组中两个相邻的元素,如果第一个数比第二个数大那么就交换他们的位置
2.每一次比较都会产生一个最大或最小的数
3.下一次就会减少一次排序
4.一次循环直到结束返回一个排序的数组
5.调用方法生成一个排好序的数组
通过Arrays.toString方法打印输出排好序的数组
3.方法
一个数组排序的完整代码
package javabase;
import java.util.Arrays;
public class ArraysDome12 {
//*****总共有八种排序
// 冒泡排序非常重要的排序是方法*********
//冒泡排序的时间复杂度为o(n2)
//O的n的2次方
//冒泡排序
//1.比较数组中两个相邻的元素,如果第一个数比第二个数大那么就交换他们的位置
//2.每一次比较都会产生一个最大或最小的数
//3.下一次就会减少一次排序
//4.一次循环直到结束返回一个排序的数组
//5.调用方法生成一个排好序的数组
//通过Arrays.toString方法打印输出排好序的数组
public static void main(String[] args) {
int[] nums = {2, 1, 2, 3, 232, 4, 3};
add(nums);
System.out.println(Arrays.toString(add(nums)));
}
//定义一个冒泡排序方法
public static int[] add(int[] nums) {
//临时变量
int temp = 0;
//外层循环判断我们要比较多少次
for (int i = 0; i < nums.length - 1; i++) {
//内层循环比较两个数,如果一个数大于第二个数的话就交换位置
for (int j = 0; j < nums.length - 1 - i; j++)
{
if (nums[j + 1] > nums[j]) {
//j j+1
//temp
//如果j+想要到j的位置上那么
// 第一步 j上的值就要给到临时变量temp上
// temp=sums[i];
//第二步 此时j可以将看作为空那么J+1的值便可以给到j
// sums[j]=sums[j+1];
//第三步此时temp的值就可以给到j+
// sums[j+1]=temp;
temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
return nums;
}
}