冒泡排序
冒泡排序举例说明
假设要对[4,2,7,1,3]进行排序
- 第一步:比较4和2的值,4比2大,
- 第二步:交换顺序4和2顺序,为[2,4,7,1,3]
- 第三步:比较4和7,4比7小(不用交换顺序)
- 第四步:比较7和1,7比1大
- 第五步:交换顺序7和1顺序,为[2,4,1,7,3]
- 第六步:比较7和3,7比3大
- 第七步:交换顺序7和3顺序,为[2,4,1,3,7]
经过7步操作之后,我们把最大的元素[7],换到了最右边,这也是算法名为冒泡排序的原因:每一次轮回过后,未排序的值最大元素都会被“冒泡”到最右边。以上的7步操作只是第一轮,还要经过4轮,数组才会被排序好为[1,2,3,4,7]
冒泡排序算法代码实现
//冒泡排序算法
int[] numbers=new int[]{
4,2,7,1,3};
for(int i=0;i<numbers.length-1;i++)
{
for(int j=0;j<numbers.length-1-i;j++)
{
if(numbers[j]>numbers[j+1])
{
int temp=numbers[j];
numbers[j]=numbers[j+1];
numbers[j+1]=temp;