冒泡排序法
- 关键词
- 相关说明
- 源码
- 运行结果
- 附加说明
关键词
bubble(气泡)
(比较关键的步骤,默认从上到下)
class Demo{}
//需要Demo建对象bubbleSorter0
Demo bubbleSorter0=new Demo();
//对象bubbleSorter0用于排列(sort)array0
bubbleSorter0.sort(array0);
//对array0的排列(sort)方法为
public viod sort(int[] array0){}
//排列完的对象(排列的数组)
showArray0(array0);
//对showArray0(array0)进行输出
public void showArray0(int[] array0){}
相关说明
(这里数值可以看成对象如:a,b,c,d,e五个对象)
冒泡方法排序,比如一组数值,开始第一个和第二个比较,大的往后移,小的往迁移;然后再第二个和第三个比较,大的往后移,小到往前移,到最后最大的就会移到最后面,最小的会移到最前面。这里是对单个数值不断的比较后移,移完后轮到被换到第一个的数值比较是否后移,多个循环下来就可以完成从小到大排序了。其中还有注意的一点,比如有五个数值,当排序完一轮后有一个数值已经排列到最后不用再排列一次,那么此时只用考虑四个数值了;以此类推,排列两次后,只需考虑三个数值,后边有两个排列好的数值不用排列。对于冒泡的理解,把这里的横向改成竖向,大的一个一个往下移,小的一个一个往上移,如冒泡一般。
源码
/*所想:
冒泡排列顺序
大的数往后,小的数往前,到最后变成从小到大排序
bubble(泡泡) parram(参数) temp(临时)
*/
class Demo{
public static void main(String[] args){
//创建一个数组,数组排列乱序
int[] array0={89,38,15,4,11,17,5};
System.out.println("原数组为:89,38,15,4,11,17,5");
Demo bubbleSorter0=new Demo();//创建冒泡排列对象,创建Demo参数名称sorter0
bubbleSorter0.sort(array0); //sortSorter0用于排列(sort)数组array0,排列方法为下一步
}
/*
冒泡排序
@param array
要排列的数组
*/
public void sort(int[] array0){ //对array0的排列(sort)方法如下
for(int i=1;i<array0.length;i++){ //冒泡数组,最多排列数组长度减1次,就可以完成从小到大排序
for(int j=0;j<array0.length-i;j++){ //减i的解释:过一轮,就是永久排列好了一个数(最大的数已经到最后面不用排了了),i就是排列好的数
if(array0[j]>array0[j+1]){
int temp=array0[j]; //把第一个元素保存到temp中
array0[j]=array0[j+1]; //第一个元素的值初始化成第二个元素的值
array0[j+1]=temp; //第二个元素的值初始化成原先保存到temp的值
}
}
}
showArray0(array0); //排列完后的数组名称为showArray0
}
/**
显示数组中的所有元素
@param array
要显示的数组
*/
public void showArray0(int[] array0){//对showArray0进行输出,array不是array0也可以输出结果
System.out.print("排列完的数组为:");
for(int i:array0){ //遍历数组
System.out.print(">"+i); //输出每个数组元素值
}
System.out.println();
}
}
运行结果
附加说明
以上内容是我第一次接触且超过public static void main(String[] args){}以外的部分。相关内容是我以我自己的思维写出来的,简单来说我便是如此理解这一部分知识的,不一定规范准确,如有错误之处敬请谅解和指出。