那日与同事讨论排序,说起冒泡,就手痒痒,写个玩玩,冒泡的思路很简单,O(n^2)的long long时间复杂度,但稳定,不会交换一样数字的顺序,代码如下:
public class SortMain {
public static void main(String[] args)
{
int array[]={1,2,8,5,7,8,4};
bubblesort(array);
int size = array.length;
for(int i=0;i<size;i++)
{
System.out.print(array[i]);
}
}
public static void bubblesort(int[] array )
{
int size = array.length;
System.out.println(size);
int i =0,j = size;
for(j = 0;j< size;j++)
{
for(i=0;i<j;i++)
{
if(array[i]>array[j])
{
array[i] = array[i] ^ array[j];
array[j] = array[j] ^ array[i];
array[i] = array[i] ^ array[j];
}
}
}
}
}
使用Java实现的,其中交换使用的位操作,节省一个变量,O(∩_∩)O哈哈~