Recursive Bubble Sort(递归冒泡排序)

来源:互联网 发布:adhoc网络搭建 编辑:程序博客网 时间:2024/05/19 03:18

程序来源:Recursive Bubble Sort

迭代冒泡排序算法:

// Iterative Bubble SortbubbleSort(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 sortvoid 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("\n");} // Driver program to test above functionsint main(){    int arr[] = {64, 34, 25, 12, 22, 11, 90};    int n = sizeof(arr)/sizeof(arr[0]);    bubbleSort(arr, n);    printf("Sorted array : \n");    printArray(arr, n);    return 0;}

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



0 0
原创粉丝点击