package arithmetic;
import java.util.Arrays;
import Test.TestInterface;
public class BubbleSort implements TestInterface {
public static void main(String args[])
{
int a [] = new int[] {4,5,1,3,6};
//bubbleSortOne(a);
bubbleSortOne(a);
System.out.println(Arrays.toString(a));
}
/*
* 这个冒泡准确的来说应该是沉底,把大的沉到了下面,
* 下回比较的时候直接从0比较到上次比较到的前一个
* */
public static void bubbleSortOne(int a[])
{
for(int i=0;i<a.length;i++)
for(int j=0;j<a.length-i-1;j++)
if(a[j]>a[j+1])
swap(a,j,j+1);
}
/*
* 插入法:
* */
public static void bubbleSortTwo(int a[])
{
for(int i=0;i<a.length;i++)
for(int j=i;j>0&&a[j]>a[j-1];j--)
swap(a,j-1,j);
}
public static void swap(int a[],int i,int j)
{
int tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}
public void test(int a[])
{
//bubbleSortOne(a);
bubbleSortTwo(a);
}
}
冒泡法
最新推荐文章于 2023-02-26 11:24:35 发布