以从大到小的冒泡排序为例,
就是第一个先和第二个比较,如果第二个大,则第二个和第一个交换,否则不交换。
然后第二个和第三个比较,如果第三个大,则第三个和第二个交换,否则不交换。
就这样,第一轮比较的结果就是,把最小的数放在了最后。
接着第二轮就可以不用和最后一个比较,依然是现在的第一个和第二个比较,小的放后面,
第二轮的结果就是倒数第二小的,放在倒数第二的位置。依次类推,最后最大的就到了最前面。
一般冒泡使用两个for循环嵌套。代码为:
- for (int i = 0; i < total; i++) {
- for (int j = 0; j < total - i - 1; j++) {
- //此处比较数组[j][j+1],符合条件则交换两数
- }
- }
复制代码 |