冒泡排序

思路:
1.       相邻两个数进行比较,如果位置不对,进行交换,整个数组中未排序的数都比较了一遍叫做一趟。
2.       把数组中的未排序元素都比较一遍叫做 一趟,这一趟需要比较很多次才能完成。
3.       每一趟只能保证把最大数挪到当前未排好序的数据的最后。
4.       弄清楚一共需要比较多少趟。n-1
5.       弄清楚每一趟需要比较多少次。第一趟需要比较n-1,后面随着趟数的增加,比较次数会逐渐减少,每次减少1。
6.       外层循环控制趟数,内层循环控制每一趟要比较的次数。
7.       在循环体中对位置不对数据的进行调整。

看图理解思路:


核心代码实现:

public void bubble_sort(int num[], int length) {
int i, j;
for (i = 0; i < length - 1; i++) //外层循环控制趟数,总趟数为length-1
for (j = 0; j < length - 1 - i; j++) //内层循环为当前i趟数所需要比较的次数
if (num[j] >num[j + 1])
swap(numr[j], num[j + 1]); //进行交换,将小的元素往前移, 大的元素往后挪
}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值