编程算法--排序

冒泡排序

冒泡排序的基本思想是通过不断比较和交换相邻元素,将较大的元素逐步"冒泡"到数组末尾,从而实现整个序列的有序排列。

冒泡排序是一种简单直观的排序算法

  • 从头开始遍历数组,每次比较相邻的两个元素;

  • 如果前一个元素比后一个大,就交换它们的位置;

  • 一轮遍历后,最大的元素会被"冒泡"到数组末尾

  • 下一轮只需遍历未排序的部分,重复上述过程;

  • 直到没有需要交换的元素为止,排序完成

JAVA代码示例

public class Study09 {
    public static void main(String[] args){
        //初始化list_1列表
        int[]list_1={23,54,12,24,65,7,9,10,44,57,78,245,76,89,54};
        //遍历整个列表,输出列表中的元素
        for (int i=0;i<list_1.length;i++){
            System.out.print(list_1[i]+" ");
        }
        System.out.println();   //换行
        //外层函数,决定循环的次数
        for (int i=1;i<list_1.length;i++){
            //内层函数,比较相邻两个数字,进行排序
            for (int j=0;j<list_1.length - i;j++){
                if (list_1[j]>list_1[j+1]){
                    //排序
                    int temp=list_1[j];
                    list_1[j]=list_1[j+1];
                    list_1[j+1]=temp;
                }
            }
        }
        //循环输出排序后的序列
        for (int i=0;i<list_1.length;i++){
            System.out.print(list_1[i]+" ");
        }
    }
}

Python代码示例

#定义一个数组
arr = [23,54,12,24,65,7,9,10,44,57,78,245,76,89]
#打印未排序数组
print(arr)
#排序
for i in range(len(arr)):
    for j in range(len(arr)-1):
        if arr[j] > arr[j+1]:
            temp = arr[j]
            arr[j] = arr[j+1]
            arr[j+1] = temp