排序算法-冒泡排序(含C语言代码示例)

一、算法介绍

冒泡排序是一种简单的排序算法,其核心思想是重复地遍历待排序列表,比较并交换相邻元素,使得较大的元素逐渐"冒泡"到列表的末尾,而较小的元素则逐渐上浮至列表的前端。该算法的名字源于类比元素的移动过程,就像水泡逐渐上浮一样。冒泡排序的基本步骤包括比较相邻元素、交换元素、遍历整个列表、重复多轮直到排序完成。

冒泡排序的历史可以追溯到1956年,由于其简单直观的思想,它早在计算机科学的早期就被提出并应用。尽管冒泡排序的时间复杂度为O(n^2),并不是最有效的排序算法,但它仍然在教学和理论研究中有着重要的地位。冒泡排序的主要优点是实现简单,适用于小型数据集或部分已排序的情况。然而,在大规模数据集上,其效率相对较低,因此在实际应用中更常使用其他更为高效的排序算法,如快速排序或归并排序。冒泡排序的概念对理解和学习排序算法具有启发作用,为后续更复杂的排序算法打下了基础。

二、代码示例

cpp 复制代码
void bubble(int *index, int length)
{
    int i, j, temp;
    for (i = 0; i < length - 1; i++)
        for (j = 0; j < length - 1 - i; j++)
            if (index[j] > index[j + 1]) {
                temp = index[j];
                index[j] = index[j + 1];
                index[j + 1] = temp;
            }
}
相关推荐
05Kevin7 小时前
lk每日冒险题--数据结构6.27
算法
To_OC18 小时前
从一次栈溢出报错说起,我把递归彻底扒明白了
javascript·算法·程序员
千纸鹤安安1 天前
千问Qwen-AgentWorld来了:一个语言模型搞定七大Agent场景,GPT-5.4都输了
算法
七牛开发者1 天前
MCP 到底是什么?为什么 Agent 都想接上它
算法·aigc·agent
北域码匠1 天前
冒泡排序太慢?鸡尾酒排序双向优化,原生 C# 零第三方库完整代码
数据结构·排序算法·泛型·c# 算法·鸡尾酒排序·原生 c# 开发·冒泡排序优化·嵌入式算法
kisshyshy1 天前
从递归到迭代,一文吃透二叉树的核心知识与 JavaScript 实现
javascript·算法·代码规范
To_OC2 天前
LC 49 字母异位词分组:想到哈希表很简单,选对 key 才是精髓
javascript·算法·leetcode