交换排序
交换排序
冒泡排序
冒泡排序代码演示:
给你一个n代表有n个数字,然后你需要使用冒泡排序将这些数字从小到大排好。
输入描述:
第一行输入一个n,代表有n个数字
第二行输入n个数
输出描述:
输出排序好后的n个数
示例1
输入
4
4 3 2 1
输出
1 2 3 4
#include <iostream>
#include <vector>
using namespace std;
void swap(int &p, int &q);
void bubbleSort(int *array, int n);
int main()
{
// 处理输入数据
int n; // 数据个数
cin >> n;
int array[n];
for (int i = 0; i < n; ++i)
{
cin >> array[i];
}
// 冒泡排序
bubbleSort(array, n);
// 将数组内数据打印
for (int i = 0; i < n; ++i)
{
cout << array[i] << " ";
}
return 0;
}
void bubbleSort(int *array, int n)
{
for (int i = 1; i < n; ++i) // 一共走n-1趟
{
for (int j = 0; j < n - i; ++j) // 每一趟将0到n-i内的最大值放到n-i处
{
if (array[j] > array[j+1])
{
swap(array[j], array[j+1]); // 交换数据
}
}
}
return;
}
void swap(int &p, int &q)
{
int tempVal = p;
p = q;
q = tempVal;
return ;
}
快速排序
我们向往远方,却忽略了此刻的美丽