冒泡排序:通俗的理解就是将一列无序的数字按照从大到小或者从小到大的顺序进行排序的一种简单的算法
在Java中一般是将数组使用冒泡排序的方法进行排序,大致原理是遍历数组元素,然后每两个之间进行比较,将较大值或者较小值按照自己想要的排序结果进行换位,进行多次比较之后即可达到预料的结果
package test_1;
//{20,10,5,80,90,46,55} 对这个原始数组进行从大到小和从小到大的排序
public class test_4 {
public static void main(String[] args) {
int [] arr={20,10,5,80,90,46,55};//静态初始化数组
//传参
}
//创建从大到小的排序方法
public static void getMax(int [] arr_1){
//外层for循环控制比较次数 比较次数比数组长度少一个即可 因为最后那一次就不需要比
/*
根据自己定义的for循环中的初始化变量去进行调整 如果初始化变量是0的话 那么比较次数就是数组长度减去一 如果初始化变量是1的话 那么比较次数就是小于数组长度 反正比较次数就是这个数组的最大索引值即可
*/
for(int i=0;i<arr_1.length-1;i++){
//内层for循环用于遍历数组中 并代入到if语句中进行两个相邻元素的比较
for(int x =0;x<arr_1.length-1;x++){
if(arr_1[x]<arr_1[x+1]){
//如果左边的元素小于右边的元素就将两个元素进行换位
int temp=arr_1[x];//使用一个int类型的变量暂存较小值
arr_1[x]=arr_1[x+1];
//将右边的元素赋值给左边 这样两个元素就一样了 所以接下来就用到了暂存较小值的变量 将它赋值给右边
arr_1[x+1]=temp;
}
}
}
//打印输出结果
System.out.print("[");
for(int i=0;i<arr_1.length;i++){
if(i==arr_1.length-1){
System.out.print(arr_1[i]);
}
else{
System.out.print(arr_1+",");
}
}
System.out.print("]");
System.out.println();//空的输出语句 用于做一个换行的作用
}
//创建从小到大的排序方法 和上面类似 只是调换位置的过程有所改变
public static void getMin(int [] arr_2){
//外层for循环控制比较次数
for(int i=0;i<arr_2.length-1;i++){
//外层for循环进行数组遍历 将元素进行相邻之间的比较
for(int x =0;x<arr_2.length-1;x++){
//使用if语句进行比较
if(arr_2[x]>arr_2[x+1]){//如果左边的元素大于右边的元素
int temp=arr_2[x];
arr_2[x]=arr_2[x+1];
arr_2[x+1]=temp;
}
}
}
//打印输出结果
System.out.print("[");
for(int i=0;i<arr_2.length;i++){
if(i==arr_2.length-1){
System.out.print(arr_2[i]);
}
else{
System.out.print(arr_2[i]+",");
}
}
System.out.print("]");
}
}
冒泡排序:相邻的两个元素进行比较,然后创建一个变量存储一个需要被换掉的元素。然后把较大或者较小值放到前面来,这样两个元素就都一样了,就与题目不符合了。所以就用到了我们的用于存储需要被换掉的元素的变量了。我们用它将被换掉的元素重新赋值出来