交换排序的主题操作就是对数组中的数据不断的进行交换操作。交换排序中最主要的就是冒泡排序和快速排序。
对于一组包含n个数据,最坏的情况下,要进行n-1趟的比较。
第一趟依次比较0和1、1和2、2和3……n-2和n-1索引的元素如果发现第一个元素大于后一个元素,交换他们。经过一趟后,最大的元素就放在最后。依次类推
冒泡排序 [时间复杂度:O(n2)、空间复杂度:O(1)、稳定]
冒泡排序的具体实现
package com.wpl.mysort;
public class MaoPaoSort {
public static void bubbleSort(int []inputData)
{
for(int i=0;i<inputData.length-1;i++)
{
for(int j=0;j<inputData.length-1-i;j++)
{
if(inputData[j]>inputData[j+1])
{
int temp=inputData[j+1];
inputData[j+1]=inputData[j];
inputData[j]=temp;
}
}
}
}
public static void main(String[] args) {
int []test={23,2,34,8,34,28,98,89,13,8,33,56,75,67};
bubbleSort(test);
for(int i=0;i<test.length;i++)
{
System.out.print(test[i]+" ");
}
}
}