冒泡排序 时间限制:1秒 内存限制:128M 题目描述 重复地遍历要排序的数列,一次比较两个相邻元素,大的数据在后,小的数据在前,如果他们的顺序错误,就把他们交换过来。遍历数列的工作是重复地进行,直到不再需要交换数据,即数列已经排序完成。 数按从小到大的顺序输出(n<=10000)。 输入描述 第一行,一个整数n,表示后面有多少待排序的数字 第二行,n个整数,表示待排序的各个数字 输出描述 共一行, n个整数,表示排序后的数字,中间以空格隔开 样例 输入 8 49 38 65 97 76 13 27 49 输出 13 27 38 49 49 65 76 97 c++程序
时间: 2024-04-15 16:28:50 浏览: 152
下面是一个冒泡排序的C++程序示例:
```cpp
#include <iostream>
#include <vector>
using namespace std;
void bubbleSort(vector<int>& nums) {
int n = nums.size();
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (nums[j] > nums[j + 1]) {
// 交换两个数的位置
int temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
}
int main() {
int n;
cin >> n;
vector<int> nums(n);
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
bubbleSort(nums);
for (int i = 0; i < n; i++) {
cout << nums[i] << " ";
}
cout << endl;
return 0;
}
```
这段代码会根据输入的整数n和n个待排序的数字,使用冒泡排序算法对数字进行排序,并将排序后的结果输出。冒泡排序的原理是不断地比较相邻的两个元素,将较大的元素向后移动,直到所有元素都按照从小到大的顺序排列。
请注意,这只是一个简单的冒泡排序实现示例。在实际应用中,可能需要对算法进行优化,例如添加一个标记来记录是否发生了交换,以提前结束排序循环。
阅读全文