冒泡排序算法的运作如下:(从小到大)
- a = [3,99,2,11,66]
- n = len(a)
- for i in range(n-1): #进行n-1趟
- for j in range(n-i-1) :
- if a[j] > a[j+1]:
- a[j],a[j+1] = a[j+1],a[j]
- print("第%d趟排序结果:"%(i+1),a)
- print("最终排序结果:",a)
第 1 趟排序结果: [3, 99, 2, 11, 66]
第 1 趟排序结果: [3, 2, 99, 11, 66]
第 1 趟排序结果: [3, 2, 11, 99, 66]
第 1 趟排序结果: [3, 2, 11, 66, 99]
第 2 趟排序结果: [2, 3, 11, 66, 99]
第 2 趟排序结果: [2, 3, 11, 66, 99]
第 2 趟排序结果: [2, 3, 11, 66, 99]
第 3 趟排序结果: [2, 3, 11, 66, 99]
第 3 趟排序结果: [2, 3, 11, 66, 99]
第 4 趟排序结果: [2, 3, 11, 66, 99]
最终排序结果: [2, 3, 11, 66, 99]
java:分别使用 python 和 java 练习冒泡排序
- public class test {
- public static void main(String[] args) {
- int i,
- j;
- int[] a = {
- 3,
- 99,
- 2,
- 11,
- 66
- };
- int n = a.length;
- for (i = 0; i < n - 1; i++) {
- for (j = 0; j < n - i - 1; j++) {
- if (a[j] > a[j + 1]) {
- int temp = a[j];
- a[j] = a[j + 1];
- a[j + 1] = temp;
- }
- System.out.print("第" + (i + 1) + "趟排序结果:");
- for (int k = 0; k < n; k++) {
- System.out.print(a[k] + "\t");
- }
- System.out.print("\n");
- }
- }
- System.out.print("最终排序结果:");
- for (i = 0; i < n; i++) {
- System.out.print(a[i] + "\t");
- }
- }
- }
来源: http://www.bubuko.com/infodetail-2453712.html