• C 实现冒泡排序


    一、冒泡排序

    冒泡排序的基本思路就是通过不断的比较相邻两个数的大小,第一层循环0--->length-1,然后第二层不断把大的一个数往后移动,每轮循环都会把最大的那个数放到最后。最多经过N-1轮就能完全排序好。如果优化下算法,还能更快。
    

    二、C语言一般实现

    #include<stdio.h>
    #include<stdlib.h>
    
    void buble_sort(int arr[], int length);
    
    
    void buble_sort(int arr[], int length)
    {
        int i, j, max;
        for(i=0, i<length-1, i++)
        {
            for(j=0, j<length-i-1, j++)
            {
                if(a[j]>a[j+1])
                {
                    max = a[j];
                    a[j] = a[j+1];
                    a[j+1] = max; 
                }
            }
        }
    }
    
    
    int  main()
    {
        int arr_num[] = {17, 23, 5, 54, 13, 36, 7};
        bubble_sort(arr_num, 7); 
        for(int i=0; i<7; i++)
            printf("%d  ", arr_num[i]);
        printf("
    ");
        system("pause");
        return 0;
    }
    

    三、C 语言改进实现

    #include<stdio.h>
    #include<stdlib.h>
    
    void better_buble_sort(int arr[], int length);
    
    
    void better_buble_sort(int arr[], int length)
    {
        int i, j, max;
        //设置标记位,sorted是否排序好
        bool sorted = true;
        for(i=0, i<length-1, i++)
        {
            for(j=0, j<length-i-1, j++)
            {
                if(a[j]>a[j+1])
                {
                    //如果本轮循环,有未排序好的数,就将设置的标记改为false,继续下轮循环
                    sorted = false
                    max = a[j];
                    a[j] = a[j+1];
                    a[j+1] = max; 
                }
            }
        }
        if(sorted) break;
    }
    
    
  • 相关阅读:
    php趣题小记
    git常用语法
    Go 使用小记
    小程序 显示对话框 确定-取消
    小程序 后退一页
    Vue脚手架使用步骤 2.9.6版本
    小程序 后台返回的对象数组(每个数组添加一个新的属性值)
    小程序 添加对象
    小程序图表wx-chart
    微信小程序之自定义select下拉选项框组件
  • 原文地址:https://www.cnblogs.com/shiqi17/p/9393239.html
Copyright © 2020-2023  润新知