算法-冒泡排序

简述

冒泡排序:每次比较相邻两数的大小,如果它们顺序错误就把他们交换过来
1位和第2位比较,第2位和第3位........ 依次下去 共比较 待排序元素个数 -1  次   要循环 待排序元素个数 -1  次 的比较
也就是 双重循环都是 待排序元素个数 -1 

时间复杂度 and 缺点

时间复杂度: O(N²)   可见时间复杂度很高,不值得推荐

Java

import java.util.Arrays;
import java.util.Scanner;
public class Ceshi {
    public static void main(String[] args) {
        //冒泡排序
        //创建数组存储要排序的数
        int p = 5; //排序元素个数
        int t,i,k;
        int[] nub = new int[p];
        //输入分数
        for (i = 1;i<=p;i++){
            System.out.println("请输入要排序的数:");
            Scanner scanner = new Scanner(System.in);
            if (scanner.hasNextInt()){
                nub[i-1] = scanner.nextInt();
            }
        }
        //冒泡核心 双重循环 都是 元素个数 - 1 次
        // 元素比大小 在互相替换
        for (k =1;k<p;k++){
            for (int x = 0;x<p-1;x++){
                if (nub[x]<nub[x+1]){
                    t = nub[x];
                    nub[x] = nub[x+1];
                    nub[x+1]=t;
                }
            }
        }
        //输出排序完后的数组
        System.out.println(Arrays.toString(nub));
    }
}

Python

# 冒泡排序
# 元素个数 nub
nub = 6
k = 1
list1 = []
for i in range(nub):
    list1.append(int(input("请输入成绩:")))
while k < nub:
    for i in range(nub - 1):
        if list1[i] < list1[i + 1]:
            t = list1[i]
            list1[i] = list1[i + 1]
            list1[i + 1] = t
    k += 1
print(list1)