【数据结构】冒泡排序

1、c语言实现

// 算法实现原则
// 例如五个元素,就要排序4趟
// 每趟都是相邻的两个元素再比较
// 每趟都会把最大的那个元素往最后移
void bubbleSort(int arr[], int len){
   for(int j=0;j<len-1;j++){
        int swap;
        for (int  i = 0; i <len-1-j; i++){ // len-1-j 表示前一次最大到那个数已经排到了最后,不需要再加入排序
            swap =  arr[i+1];
            if(arr[i]>arr[i+1]){
                arr[i+1] = arr[i];
                arr[i] = swap;  
            }
        }
   }
}


int main(){
    int arr[] = {22, 34, 3, 32, 82, 55, 89, 50, 37, 5, 64, 35, 9, 70 };
    int len = (int) sizeof(arr) / sizeof(*arr);
    bubbleSort(arr,len);
    printf("%s 
","排序后数组 :");
    int i = 0;
    while (i<len){
        printf("%d ",arr[i]);
        i++;
    }
    printf("
");
    return 0;
}
View Code

 2、python语言实现

def bubble_sort(arr: list):
    for i in range(len(arr) - 1):
        for j in range(len(arr) - 1 - i):
            swap = arr[j + 1]
            if arr[j] > arr[j + 1]:
                arr[j + 1] = arr[j]
                arr[j] = swap
View Code
“年轻时,我没受过多少系统教育,但什么书都读。读得最多的是诗,包括烂诗,我坚信烂诗早晚会让我邂逅好诗。” by. 马尔克斯
原文地址:https://www.cnblogs.com/jzsg/p/10890464.html