冒泡排序(C语言)

void BubbleSort(int arr[], int len)
{
    int i, j, temp;
    for (i = 0; i < len; i++)
    {
        for (j = len - 1; j >= i; j--)
        {
            if (arr[j] > arr[j + 1])
            {
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}

优化:

        设置标志位flag,如果发生了交换flag设置为true(1);如果没有交换就设置为false(0)。
这样当一轮比较结束后如果flag仍为false,即:这一轮没有发生交换,说明数据的顺序已经排好,没有必要继续进行下去。

void BubbleSort(int arr[], int len)
{
    int i, j, temp, flag = 1;
    for (i = 0; i < len && flag; i++)
    {
        flag = 0;
        for (j = len - 1; j >= i; j--)
        {
            if (arr[j] > arr[j + 1])
            {
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
                flag = 1;
            }
        }
    }
}

时间复杂度:

\mathit{O(N^{2})}

相关推荐

  1. C语言冒泡排序

    2023-12-26 09:58:02       34 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-26 09:58:02       17 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-26 09:58:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-26 09:58:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-26 09:58:02       18 阅读

热门阅读

  1. PAT.1101.QuickSort

    2023-12-26 09:58:02       30 阅读
  2. 每日一水:leetcode1576.替换所有的问号

    2023-12-26 09:58:02       38 阅读
  3. Nestjs使用log4j打印日志

    2023-12-26 09:58:02       38 阅读
  4. 附录E SQL入门之SQL保留字

    2023-12-26 09:58:02       40 阅读
  5. Python 查杀进程的方法封装

    2023-12-26 09:58:02       45 阅读
  6. C#的故事

    2023-12-26 09:58:02       27 阅读
  7. 八股文打卡day10——计算机网络(10)

    2023-12-26 09:58:02       29 阅读
  8. linux无法访问共享目录,ls hgfs失败

    2023-12-26 09:58:02       35 阅读
  9. 支付平台在选择服务器租用时要注意什么?

    2023-12-26 09:58:02       38 阅读