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(" ");
        }
    }

    本人博客主要供自己整理学习使用,会有部分内容网络摘抄,方便学习
  • 相关阅读:
    mybatis 动态sql
    linux shell 之 crontab(定时任务)详解
    FTP定时批量下载文件(SHELL脚本及使用方法 )
    腾讯云数据库团队:MySQL5.7 JSON实现简单介绍
    Chisel Tutorial(七)——模块
    大数问题解决模板
    可靠的功能測试--Espresso和Dagger2
    hdoj 1698 Just a Hook 【线段树 区间更新】
    平衡二叉树
    WPF中DependencyObject与DependencyProperty的源代码简单剖析
  • 原文地址:https://www.cnblogs.com/kuugaxxx/p/11768050.html
Copyright © 2011-2022 走看看