交换排序有:冒泡排序和快速排序
冒泡排序
算法思想:
冒泡遍历所有的数据,每次对相邻元素进行两两比较,如果顺序和预定规定的顺序不一致,则进行位置交换;这样依次遍历会将最大或最小的数据上浮到顶端,之后对于其他元素重复相同的操作,直到所有的数据有序。
即:如果要升序排序的话,就每次两两比较,将较大的元素交换到后面,这样每一轮都会选择一个元素放到它规定的位置。
#include <iostream>
using namespace std;
void bubbleSort(int a[], int n)
{
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (a[j + 1] < a[j]) {
int tmp = a[j];
a[j] = a[j + 1];
a[j + 1] = tmp;
}
}
}
}
int main()
{
int a[10] = {
9,3,5,2,7,6,10,