内排序-冒泡排序

算法思想:从前往后对相邻的元素进行两两比较交换,每一趟会将最小或最大的元素“浮”到末端,最终达到完全有序

package Sort;

import fangwei.DirectSort;

public class BubbleSort
{
    public static void main(String[] args)
    {

        int[] a = new int[] { 20, 30, 90, 40, 70, 110, 60, 10, 100, 50, 80, 1, 2 };
        BubbleSort bubblesort = new BubbleSort();
        bubblesort.Sort(a);
        ;
        for (int t : a)
            System.out.println(t);
    }
    
    
    void ExchangeData(int[] datas, int index1, int index2)
    {
         datas[index1]=  datas[index1]+datas[index2];
         
         datas[index2]=  datas[index1]-datas[index2];
         
         datas[index1]=  datas[index1]-datas[index2];
    }

    public void Sort(int[] array)
    {
        int n=array.length;
        for (int i = 0; i < n-1; i++)//交换次数,:n-1,n-2,n-3.....1次,注意直接插入是1,2,3,4,。。。。。n-1次,
        {
            for (int j = 0; j<n-i-1 ; j++)
            {
                if(array[j]>array[j+1] )
                ExchangeData(array, j, j+1);
            }
        }
    }
}

猜你喜欢

转载自www.cnblogs.com/mytrip/p/9478294.html