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

    本人博客主要供自己整理学习使用,会有部分内容网络摘抄,方便学习
  • 相关阅读:
    asp.net页面常见问题
    售后系统用户需求
    asp.net缓存
    xml
    写日志
    事务问题
    Hive之数据类型Array的使用
    mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    Hive之数据类型struct的使用
    从数据仓库系统对比看Hive发展前景
  • 原文地址:https://www.cnblogs.com/kuugaxxx/p/11768050.html
Copyright © 2011-2022 走看看