用c语言代码将数列8、6、1、9、2从大到小排序。(要求:画出冒泡排序算法的排序过程)

简介: 用c语言代码将数列8、6、1、9、2从大到小排序。(要求:画出冒泡排序算法的排序过程)
#include<stdio.h>
int main()
{
    int i, j, temp;
    int a[] = {8, 6, 1, 9, 2};
    int n = 5; 
    // 第一次循环,从第一个元素开始比较,依次比较两两相邻的元素,大的放后面
    printf("第一次:");
    for (i = 0; i < n-1; i++)
    {
        if (a[i] < a[i+1])
        {
            temp = a[i];
            a[i] = a[i+1];
            a[i+1] = temp;
        }
    }
    for (i = 0; i < n; i++)
    {
        printf("%d ", a[i]);
    }
    printf("\n");
    // 第二次循环,从第一个元素开始比较,依次比较两两相邻的元素,大的放后面
    printf("第二次:");
    for (i = 0; i < n-1; i++)
    {
        if (a[i] < a[i+1])
        {
            temp = a[i];
            a[i] = a[i+1];
            a[i+1] = temp;
        }
    }
    for (i = 0; i < n; i++)
    {
        printf("%d ", a[i]);
    }
    printf("\n");
    // 第三次循环,从第一个元素开始比较,依次比较两两相邻的元素,大的放后面
    printf("第三次:");
    for (i = 0; i < n-1; i++)
    {
        if (a[i] < a[i+1])
        {
            temp = a[i];
            a[i] = a[i+1];
            a[i+1] = temp;
        }
    }
    for (i = 0; i < n; i++)
    {
        printf("%d ", a[i]);
    }
    printf("\n");
    // 第四次循环,从第一个元素开始比较,依次比较两两相邻的元素,大的放后面
    printf("第四次:");
    for (i = 0; i < n-1; i++)
    {
        if (a[i] < a[i+1])
        {
            temp = a[i];
            a[i] = a[i+1];
            a[i+1] = temp;
        }
    }
    for (i = 0; i < n; i++)
    {
        printf("%d ", a[i]);
    }
    printf("\n");
    // 第五次循环,从第一个元素开始比较,依次比较两两相邻的元素,大的放后面
    printf("第五次:");
    for (i = 0; i < n-1; i++)
    {
        if (a[i] < a[i+1])
        {
            temp = a[i];
            a[i] = a[i+1];
            a[i+1] = temp;
        }
    }
    for (i = 0; i < n; i++)
    {
        printf("%d ", a[i]);
    }
    printf("\n");
    return 0;
}
// 排序结果
9 8 6 2 1
目录
相关文章
|
2天前
|
存储 算法 数据管理
C语言算法复杂度
【10月更文挑战第20天】
C语言算法复杂度
|
1天前
|
算法 测试技术 开发者
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗
在Python开发中,性能优化和代码审查至关重要。性能优化通过改进代码结构和算法提高程序运行速度,减少资源消耗;代码审查通过检查源代码发现潜在问题,提高代码质量和团队协作效率。本文介绍了一些实用的技巧和工具,帮助开发者提升开发效率。
6 3
|
6天前
|
搜索推荐
冒泡排序算法
【10月更文挑战第19天】冒泡排序是一种基础的排序算法,虽然在实际应用中可能不是最优的选择,但对于理解排序算法的基本原理和过程具有重要意义。
|
13天前
|
存储 缓存 算法
如何通过优化算法和代码结构来提升易语言程序的执行效率?
如何通过优化算法和代码结构来提升易语言程序的执行效率?
|
13天前
|
搜索推荐
插入排序算法的讲解和代码
【10月更文挑战第12天】插入排序是一种基础的排序算法,理解和掌握它对于学习其他排序算法以及数据结构都具有重要意义。你可以通过实际操作和分析,进一步深入了解插入排序的特点和应用场景,以便在实际编程中更好地运用它。
|
18天前
|
算法 C语言
【C语言】排序查找
【C语言】排序查找
|
18天前
|
算法 搜索推荐 C语言
【C语言】冒泡排序+优化版
【C语言】冒泡排序+优化版
|
20天前
|
算法 搜索推荐 Java
数据结构与算法学习十三:基数排序,以空间换时间的稳定式排序,速度很快。
基数排序是一种稳定的排序算法,通过将数字按位数切割并分配到不同的桶中,以空间换时间的方式实现快速排序,但占用内存较大,不适合含有负数的数组。
18 0
数据结构与算法学习十三:基数排序,以空间换时间的稳定式排序,速度很快。
|
20天前
|
算法 搜索推荐
数据结构与算法学习十一:冒泡排序、选择排序、插入排序
本文介绍了冒泡排序、选择排序和插入排序三种基础排序算法的原理、实现代码和测试结果。
13 0
数据结构与算法学习十一:冒泡排序、选择排序、插入排序
|
6天前
|
缓存 分布式计算 监控
优化算法和代码需要注意什么
【10月更文挑战第20天】优化算法和代码需要注意什么
13 0