zoukankan      html  css  js  c++  java
  • 排序简化

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    int main(void)
    {
        int i,j,t;
        int a[10];
        int max;
        srand(time(0));
        for(i=0;i<10;i++)
        {
            a[i]=rand()%100;
            printf("%d ",a[i]);
        }
        max=a[0];
        for(i=0;i<10;i++)
            if(a[i]>max)
                max=a[i];
                printf(" max=%d ",max);    
        for(i=0;i<9;i++)
        {
        
            for(j=i+1;j<10;j++)
            {
                if(a[i]>a[j])
                {
                    t=a[i];
                    a[i]=a[j];
                    a[j]=t;
                }
            }
        }
        printf(" ");
        for(i=0;i<10;i++)
        {
            printf("%d",a[i]);
            printf(" ");
        }
    }




    简化后

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    int main(void)
    {
        int i,j,t,k;
        int a[10];
        int max;
        srand(time(0));
        for(i=0;i<10;i++)
        {
            a[i]=rand()%100;
            printf("%d ",a[i]);
        }
        max=a[0];
        for(i=0;i<10;i++)
            if(a[i]>max)
                max=a[i];
                printf(" max=%d ",max);    
        for(i=0;i<9;i++)
        {
            k=i;
            for(j=k+1;j<10;j++)
            {
                if(a[k]>a[j])
                {
                    k=j;          //储存最小值下标
                    t=a[i];
                    a[i]=a[k];        //做一次交换
                    a[k]=t;
                }
            }
        }
        printf(" ");
        for(i=0;i<10;i++)
        {
            printf("%d",a[i]);
            printf(" ");
        }
    }



    //插入法排序

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    int main(void)
    {
        int i,j,t;
        int a[10];
        int max;
        srand(time(0));
        for(i=0;i<10;i++)
        {
            a[i]=rand()%100;
            printf("%d ",a[i]);
        }
        max=a[0];
        for(i=0;i<10;i++)
            if(a[i]>max)
                max=a[i];
                printf(" max=%d ",max);    


        for(i=1;i<10;i++)        //表示插入次数共进行n-1次插入
        {
            t=a[i];                //存储插入数
            j=i-1;
            while(j>=0&&t<a[j])
            {
                a[j+1]=a[j];    //寻找插入点并将其后的元素右移
                j--;
            }
            a[j+1]=t;            //将插入元素插入到插入点
        }    
        printf(" ");
        for(i=0;i<10;i++)
        {
            printf("%d",a[i]);
            printf(" ");
        }
    }

    本人博客主要供自己整理学习使用,会有部分内容网络摘抄,方便学习
  • 相关阅读:
    Halcon图像分割
    Halcon图像变量
    C# 线程同步
    C# 单例模式实现
    C# 限制窗体弹窗显示必须关闭后才能重新实例化窗体
    Java定时清理过期文件
    GrayLog + Logspout + Docker 实现分布式日志聚合
    基于Spring Security OAuth2搭建的Spring Cloud 认证中心
    快速搭建Docker Registry私有仓库
    让你的Spring Boot应用快速运行在Docker上面
  • 原文地址:https://www.cnblogs.com/kuugaxxx/p/11768050.html
Copyright © 2011-2022 走看看