zoukankan      html  css  js  c++  java
  • Recursive Bubble Sort(递归冒泡排序)

    程序来源:Recursive Bubble Sort

    迭代冒泡排序算法:

    // Iterative Bubble Sort
    bubbleSort(arr[], n)
    {
      for (i = 0; i < n-1; i++)      
    
         // Last i elements are already in place   
         for (j = 0; j < n-i-1; j++) 
           if (arr[j] > arr[j+1])
             swap(arr[j], arr[j+1]);
    } 

    C++程序如下:
    // C++ program for recursive implementation
    // of Bubble sort
    #include <bits/stdc++.h>
    using namespace std;
     
    // A function to implement bubble sort
    void bubbleSort(int arr[], int n)
    {
        // Base case
        if (n == 1)
            return;
     
        // One pass of bubble sort. After
        // this pass, the largest element
        // is moved (or bubbled) to end.
        for (int i=0; i<n-1; i++)
            if (arr[i] > arr[i+1])
                swap(arr[i], arr[i+1]);
     
        // Largest element is fixed,
        // recur for remaining array
        bubbleSort(arr, n-1);
    }
     
    /* Function to print an array */
    void printArray(int arr[], int n)
    {
        for (int i=0; i < n; i++)
            printf("%d ", arr[i]);
        printf("
    ");
    }
     
    // Driver program to test above functions
    int main()
    {
        int arr[] = {64, 34, 25, 12, 22, 11, 90};
        int n = sizeof(arr)/sizeof(arr[0]);
        bubbleSort(arr, n);
        printf("Sorted array : 
    ");
        printArray(arr, n);
        return 0;
    }

    程序运行结果:
    Sorted array :
    11 12 22 25 34 64 90



  • 相关阅读:
    单页面应用 之 项目中集成插件vue-router
    公共组件的创建和使用
    数据库初识
    MySQL的安装 --windows版本
    多线程补充以及协程
    多线程(三)
    多线程(二)
    多线程(一)
    多进程(二)
    多进程(一)
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7564083.html
Copyright © 2011-2022 走看看