• 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;
    }

  • 相关阅读:
    在Selenium自动化中查找损坏的链接
    WebDriverManager
    在TestNG中重试失败的测试
    算法:汉诺塔
    Java 多线程
    spring ioc原理(看完后大家可以自己写一个spring)
    Apache与Nginx的区别
    Apache与Nginx的区分比较
    Java 设计模式
    Java 理论与实践: 正确使用 Volatile 变量
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/14807141.html
Copyright © 2020-2023  润新知