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

     交换法排序

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

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

     选择法排序

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

    归并排序法

  • 相关阅读:
    Javascript Property Names
    Java泛型
    Activity 与 Task
    使用ddns搭建免费服务器
    DDNS
    SimpleAdapter用法
    Java KeyNote
    Android无法访问本地服务器(localhost/127.0.0.1)的解决方案
    Android 添加网络权限
    Java 匿名内部类
  • 原文地址:https://www.cnblogs.com/sunshine88/p/8712136.html
Copyright © 2011-2022 走看看