算法之美--交换排序--冒泡排序

冒泡排序:每次从剩余的数据对象中选择一个最近的小于待排序的数据的对象,与待排序的数据交换位置。
特性:不稳定排序

#include<iostream>
#include<stdio.h>
using namespace std;
#define len 20
void main()
{
    int a[len] = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 19, 18, 17, 11, 12, 13, 14, 15, 16, 20 };
    for (int i = 0; i < len; i++)//一次取出待排序数据
    {
        //int k = i;
        for (int j = i + 1; j < len;j++)//将取出的数据与后面的所有数据比较,直到找到一个
            if (a[i]>a[j])//如果当前位置i的数据比位置j的数据大,则把二者交换位置
            {
               int temp = a[i];
               a[i] = a[j];
               a[j] = temp;
            }
    }
    for (int l = 0; l < len; l++)//打印
    {
        printf("%d\n", a[l]);
    }

    system("pause");
}
点赞