zoukankan      html  css  js  c++  java
  • C语言实现的排序

    冒泡排序

    比较相邻的两个元素,若顺序不对,则将其调换

    通过一遍排序,较大的数会排到最后(沉到底部)

    两层循环,外层循环控制遍数,内层循环控制每一遍内的排序。

    完整代码:

    #include<stdio.h>
    int Readscorce(int Num[]);
    void BubbleSort(int Num[],int n);
    #define SIZE 50
    
    int main()
    {
        int Num[SIZE];
        int n,i;
        n=Readscorce(Num);
        BubbleSort(Num,n);
        for(i=0;i<n;i++)
        {
            printf("%d  ",Num[i]);
        }
        getchar();
        getchar();
        return 0;
    }
    
    int Readscorce(int Num[])
    {
        int i=-1;
        do
        {   i++;
            printf("Please Enter a number:");
            scanf("%d",&Num[i]);
        }while(Num[i]>=0);
    
        return i;
    }
    
    void BubbleSort(int Num[],int n)
    {
        int i,j,temp;
        for(i=0;i<n-1;i++)
        {
            for(j=1;j<n-i;j++)//减去后面已经排好的元素
            {
                if(Num[j]<Num[j-1])
                {
                 temp=Num[j-1];
                 Num[j-1]=Num[j];
                 Num[j]=temp;
                }
            }
        }
    }
    BubbleSort Code

     交换法排序

    进行一遍后最小的数(或最大的数)会排在较前的位置

    两层循环,外层循环控制遍数,内层循环控制每一遍内的排序。

     选择法排序

    找出最小数的下标,将最小数下标与首元素下标比较难

    归并排序法

  • 相关阅读:
    矩阵快速幂模板C++
    异或空间与高斯消元
    POJ2947解题报告
    Manacher算法笔记 C++
    Python(80)_使用selenium实现第一个web自动化程序
    Python(78)_认识selenium自动化测试
    111
    Python(60)_闭包
    Python(55)_默认参数的陷阱
    Python(53)_实现一个加法计数器
  • 原文地址:https://www.cnblogs.com/sunshine88/p/8712136.html
Copyright © 2011-2022 走看看