注册 登录
编程论坛 C语言论坛

c语言冒泡排序问题,孩子不行了,大佬帮帮我

kuuhaku 发布于 2021-11-22 09:29, 1204 次点击
输入10个数,采用改进的冒泡排序方法对这10个数按升序排序并输出。(所谓改进就是当排序过程中某次排序没交换数据(说明数据是有序的),提前终止排序)。
2 回复
#2
diycai2021-11-22 11:10
程序代码:
#include <stdio.h>

void bubbleSort(int *a, int len)
{
    int i, j, tmp, flag;
    for (i=0; i<len-1; i++)
    {
        flag = 0;
        for (j=0; j<len-1-i; j++)
        {
            if (a[j] < a[j+1])
            {
                tmp = a[j];
                a[j] = a[j+1];
                a[j+1] = tmp;
                flag++;
            }
        }
        if (flag == 0)
        {
            break;
        }
    }
}

void main()
{
    int i;
    int a[] = {10, 9, 8, 7, 6, 5, 4, 3, 1, 2};

    bubbleSort(a, 10);
    for (i=0; i<10; i++)
    {
        printf("%d ", a[i]);
    }
    printf("\n");
}
#3
kuuhaku2023-05-30 18:36
回复 2楼 diycai
23年才回来看,感谢大佬
1