You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请识别我编写的以下C语言排序算法的名称

排序算法识别结果

这段代码实现的是优化版冒泡排序。

传统冒泡排序会固定执行n-1轮遍历,而这段代码通过flag变量做了优化:每轮遍历前将flag置0,若遍历过程中发生元素交换,就把flag设为1;当某一轮遍历结束后flag仍为0,说明数组已经完全有序,直接终止循环,避免了后续无意义的遍历。

代码还原后如下:

void sort(int *arr, size_t len) {
    int flag = 1, temp;
    while (flag != 0) {    
        flag = 0;
        for (int i = 0, j = 1; i < len - 1; i++, j++) {
            if (arr[i] > arr[j]) {
                flag = 1;
                temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
            }
        }
    }
}

内容的提问来源于stack exchange,提问作者Satyam S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 07:54:09