一:冒泡排序算法
冒泡排序,是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢浮到数列的顶端,故名冒泡排序。
算法原理:
我们对相邻的元素进行比较。如果第一个元素比第二个元素大,就对他们两个进行交换。
动态图:
我们可以看到,图中两两元素进行比较并进行位置的交换,每完成从头至尾的两两交换后,都可以把最大的元素确定并放在末尾,那么进行下一次从头至尾的交换时,我们两两交换的次数就少了一次。
Java冒泡排序算法
我采用java语言编写的冒泡排序算法,用java语言中的数组来进行数据的存储,并通过访问数组元素的来比较大小。最后输出想要结果。
语言:Java
工具:IDEA
环境:Win10系统
代码展示:
import java.util.*; //导包
public class Mp
{
//冒泡排序
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
System.out.println("请输入!");
int a[]=new int[5]; //定义长度为5的数组用来存放数据
for(int i=0;i<a.length;i++) //循环把数据输入到数组中
{
a[i]=sc.nextInt();
}
for(int j=0;j<a.length;j++) //判断要进行多少轮比较
{
for(int k=0;k<a.length-j-1;k++) //判断每轮要比多少次(每比较完一轮,比较的次数就少一次)
{
if(a[k]>a[k+1]) //判断一个数与其下一位的大小,如果大就进行交换
{
int n=a[k]; //设置中间变量n,来方便两个元素的交换
a[k]=a[k+1];
a[k+1]=n;
}
}
}
System.out.println(Arrays.toString(a)); //采用数组的Array.toString()方法来显示数组。
}
}’
结果展示: