📜  循环排序的C ++程序(1)

📅  最后修改于: 2023-12-03 15:25:37.157000             🧑  作者: Mango

循环排序的C++程序

简介

循环排序是一种基于重复交换相邻元素的排序算法,也被称为冒泡排序。该算法通过比较相邻元素并交换顺序来对数组进行排序。循环排序算法的时间复杂度为O(n^2),因此对于大规模数据的排序来说,效率不高。尽管如此,循环排序仍然是一种简单易懂的排序算法,且在某些特殊情况下效率可以接近O(n)。

程序实现

接下来是一个用C++语言实现的循环排序程序代码:

#include<iostream>

using namespace std;

void bubble_sort(int arr[], int n) {
    int i, j, temp;
    for (i = 0; i < n - 1; ++i) {
        for (j = 0; j < n - i - 1; ++j) {
            if (arr[j] > arr[j + 1]) {
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}

int main() {
    int n, i;
    cout << "Enter the size of the array: ";
    cin >> n;
    int arr[n];
    cout << "Enter " << n << " elements: ";
    for (i = 0; i < n; ++i)
        cin >> arr[i];
    bubble_sort(arr, n);
    cout << "Sorted array: ";
    for (i = 0; i < n; ++i)
        cout << arr[i] << " ";
    return 0;
}
代码解析

在该程序中,我们定义了一个bubble_sort函数,该函数类似于两层循环的嵌套,进行数组排序。

在主函数中,我们从用户输入获取数组的大小和元素。然后使用bubble_sort函数对数组进行排序,最后输出排好序的数组。

运行效果

输入:

Enter the size of the array: 5
Enter 5 elements: 5 3 6 8 1

输出:

Sorted array: 1 3 5 6 8
总结

循环排序算法简单易懂,但由于其时间复杂度较高,因此对于大规模数据的排序来说,效率不高。对于小规模数据的排序,循环排序算法是一个比较不错的选择。在实际使用过程中,我们可以根据数据的大小和类型选择不同的排序算法,以达到更好的排序效果。