冒泡排序:冒泡排序的思想是将无序队列的数值从头到尾两两进行比较,如果按从小到大排列则将比较大的数值放在右边,如果按照从大到小的方式排列则将较小的数值放在右边。第一轮需要进行队列长度-1次数值的比较,总共需要比较的轮次为数值长度-1次,每轮随着比较的深入比较次数为剩下队列长度-1.
java实现冒泡排序的示例如下:
/**
* 冒泡排序
*/
public static void maopao(int[] arr)
{
for(int i=0;i<arr.length-1;i++)//数组长度-1轮比较
{
for(int j=0;j<arr.length-1-i;j++)//每轮比较需要比较的次数
{
if(arr[j]>arr[j+1])//按照从小到大排列,如果按照从大到小则将大于符号改为小于符号便可
{
int temp=arr[j];//当队列前面的数值大于后面的数值,则将两个数值进行交换
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
int t=i+1;
System.out.print("第"+t+"次冒泡排序后的数组:");
printArray(arr);
}
}
实现结果
利用动图来看冒泡排序的过程: