zoukankan      html  css  js  c++  java
  • c语言中冒泡排序法

    1、从尾至头,升序

    #include <stdio.h>
    
    #define NUMBER 5
    
    void sort_1(int x[], int n)
    {
        int i, j;
        for(i = 0; i < n - 1; i++)
        {
            for(j = n - 1; j > i; j--)
            {
                if(x[j] < x[j - 1])
                {
                    int tmp = x[j];
                    x[j] = x[j - 1];
                    x[j - 1] = tmp;
                }
            }
        }
    }
    
    int main(void)
    {
        int i, a[NUMBER];
        puts("please input the elements.");
        for(i = 0; i < NUMBER; i++)
        {
            printf("NO.%d = ", i + 1); scanf("%d", &a[i]);
        }
        
        sort_1(a, NUMBER);
        
        puts("show the sorting result.");
        for(i = 0; i < NUMBER; i++)
        {
            printf("a[%d] = %d 
    ", i, a[i]);
        }
        return 0;
    }

    2、从头至尾,升序

    #include <stdio.h>
    
    #define NUMBER 5
    
    void sort_2(int x[], int n)
    {
        int i, j;
        for(i = 0; i < n - 1; i++)
        {
            for(j = 1; j < n - i; j++)
            {
                if(x[j] < x[j - 1])
                {
                    int tmp = x[j];
                    x[j] = x[j - 1];
                    x[j - 1] = tmp;
                }
            }
        }
    }
    
    int main(void)
    {
        int i, a[NUMBER];
        puts("please input the elements.");
        for(i = 0; i < NUMBER; i++)
        {
            printf("NO.%d = ", i + 1); scanf("%d", &a[i]);
        }
        
        sort_2(a, NUMBER);
        puts("show the sorting result.");
        
        for(i = 0; i < NUMBER; i++)
        {
            printf("a[%d] = %d
    ", i, a[i]);
        }
        return 0;
    }

    3、从尾至头,降序

    #include <stdio.h>
    
    #define NUMBER 5
    
    void sort_3(int x[],  int n)
    {
        int i, j;
        for(i = 0; i < n - 1; i++)
        {
            for(j = n - 1; j > i; j--)
            {
                if(x[j] > x[j - 1])
                {
                    int tmp = x[j];
                    x[j] = x[j - 1];
                    x[j - 1] = tmp;
                }
            }
        }
    }
    
    int main(void)
    {
        int i, a[NUMBER];
        puts("please input the elements.");
        for(i = 0; i < NUMBER; i++)
        {
            printf("NO.%d = ", i + 1); scanf("%d", &a[i]);
        }
        
        sort_3(a, NUMBER);
        puts("show the sorting result.");
        for(i = 0; i < NUMBER; i++)
        {
            printf("a[%d] = %d
    ", i, a[i]);
        }
        return 0;
    }

    4、从头至尾;降序

    #include <stdio.h>
    
    #define NUMBER 5
    
    void sort_4(int x[], int n)
    {
        int i, j;
        for(i = 0; i < n - 1; i++)
        {
            for(j = 1; j < n - i; j++)
            {
                if(x[j] > x[j - 1])
                {
                    int tmp = x[j];
                    x[j] = x[j - 1];
                    x[j - 1] = tmp;
                } 
            }
        }
    }
    
    int main(void)
    {
        int i, a[NUMBER];
        puts("please input the elements.");
        for(i = 0; i < NUMBER; i++)
        {
            printf("NO.%d = ", i + 1); scanf("%d", &a[i]);
        }
        
        sort_4(a, NUMBER);
        puts("show the sorting result");
        for(i = 0; i < NUMBER; i++)
        {
            printf("a[%d] = %d
    ", i, a[i]);
        }
        return 0;
    }

  • 相关阅读:
    朴灵:基于MongoDB与NodeJS构建物联网系统
    平均年薪40万!为什么却很少见程序员炫富?
    写春联、变魔术、模仿马云唱歌_为你揭秘阿里云人工智能ET背后的技术
    Mysql查询性能优化-善用Explain语句
    numpy linspace arange函数
    vim笔记
    redis压缩列表
    tensorflow笔记之反向传播时用到的几种方法
    损失函数
    kafka 修改partition,删除topic,查询offset
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/14807141.html
Copyright © 2011-2022 走看看