package px;
import org.junit.Test;
public class maopaopaixu {
@Test
public void test() {
/**
* 相邻俩个数进行比较,大的值靠后放 小的值靠前放 原理:相邻元素进行比较,小的往前赶,大的往后冒,最大值出现的最大索引处
* 分析:第一次进行比较,大的往后冒,会把最大值排在最大索引处 第二次进行比较,因为最大值已经确定了,只需要比较前n-1个元素即可,
* 确定一个第二大值排在第二大索引处 依次确定第三大值,第四大值.............
*/
int[] arr = { 1, 2, 4, 6, 2, 23, 44, 56 };
// 控制循环的次数
for (int i = 0; i < arr.length - 1; i++) {
// 控制比较的次数
for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
// 将俩个数最大的赋值给temp
int temp = arr[j];
// 将俩个数最小的赋值给第一个元素
arr[j] = arr[j + 1];
// 将最大的值赋给第二元素
arr[j + 1] = temp;
// 依次循环 依次比较
}
}
}
// 打印处理好的的值
for (int j = 0; j < arr.length; j++) {
System.out.println(arr[j]);
}
}
@Test
public void test01() {
int[] arr = { 222, 1, 2, 4, 6, 2, 23, 44, 56 };
// 定义循环的次数
for (int i = 0; i < arr.length - 1; i++) {
// 从下标为1开始进行比较
for (int j = i + 1; j < arr.length; j++) {
if (arr[i] > arr[j]) {
// 比较大的值赋给temp
int temp = arr[i];
// 较小值和较大值互换位置
arr[i] = arr[j];
arr[j] = temp;
}
}
}
// 打印处理好的的值
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
java排序——冒泡
于 2018-12-03 21:08:00 首次发布