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

  • 相关阅读:
    [luogu4053 JSOI2007] 建筑抢修 (贪心 优先队列)
    [luogu2272 ZJOI2007] 最大半连通子图 (tarjan缩点 拓扑排序 dp)
    20180705 考试记录
    [luogu4310] 绝世好题 (递推)
    [luogu2765 网络流24题] 魔术球问题 (dinic最大流)
    [luogu4151 WC2011] 最大XOR和路径 (线性基)
    [luogu3232 HNOI2013] 游走 (高斯消元 期望)
    [luogu3726 HNOI2017] 抛硬币 (拓展lucas)
    20180703 考试记录
    [spoj] HIGH
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/14807141.html
Copyright © 2011-2022 走看看