冒泡排序(正序、倒序)

#include

#define N 5

void bubbleSort_up(int *arr, int n)//升序
{
    for (int i = 0; i < n - 1; i++)
    {
        for (int j = 0; j < n - i - 1; j++)
        {
            if (arr[j] > arr[j + 1])
            {
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}

void bubbleSort_down(int *arr, int n)//降序
{
    for (int i = 0; i < n - 1; i++)
    {
        for (int j = i + 1; j < n; j++)
        {
            if (arr[j] > arr[i])
            {
                int temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
            }
        }
    }
}

int main()
{
    int num[] = {5, 2, 4, 1, 3};
    bubbleSort_down(num, N);
    for (int m = 0; m < N; m++)
    {
        printf("%d ", num[m]);
    }
    printf("\n");
    return 0;
}

你可能感兴趣的:(冒泡排序(正序、倒序))