📅  最后修改于: 2023-12-03 15:25:37.157000             🧑  作者: Mango
循环排序是一种基于重复交换相邻元素的排序算法,也被称为冒泡排序。该算法通过比较相邻元素并交换顺序来对数组进行排序。循环排序算法的时间复杂度为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
循环排序算法简单易懂,但由于其时间复杂度较高,因此对于大规模数据的排序来说,效率不高。对于小规模数据的排序,循环排序算法是一个比较不错的选择。在实际使用过程中,我们可以根据数据的大小和类型选择不同的排序算法,以达到更好的排序效果。