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

     交换法排序

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

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

     选择法排序

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

    归并排序法

  • 相关阅读:
    Yarn的三种调度器
    tcpdump 常用用法
    Openssh升级脚本
    RAID详解及软RAID管理
    zabbix安装部署
    Linux根分区、SWAP分区扩容
    Windows server 2012 控制面板打不开防火墙
    Windows Server 设置时间同步出错问题
    Windows dos命令激活系统
    Swap分区大小设置
  • 原文地址:https://www.cnblogs.com/sunshine88/p/8712136.html
Copyright © 2011-2022 走看看