交换排序

交换排序

冒泡排序

冒泡排序代码演示:

给你一个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 ;
}

快速排序

 

posted @ 2021-10-02 15:00  北极星!  阅读(49)  评论(0编辑  收藏  举报