java:用冒泡方法对数组进行排序

关键词

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){}以外的部分。相关内容是我以我自己的思维写出来的,简单来说我便是如此理解这一部分知识的,不一定规范准确,如有错误之处敬请谅解和指出。

发布了66 篇原创文章 · 获赞 11 · 访问量 1673

猜你喜欢

转载自blog.csdn.net/qq_44925904/article/details/103375684