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

    本人博客主要供自己整理学习使用,会有部分内容网络摘抄,方便学习
  • 相关阅读:
    Python IDE
    Codeforces Beta Round #69 Div1
    HDU1595 find the longest of the shortest[最短路]
    MFC/OpenGL下的调色板
    ApacheCN 编程/大数据/数据科学/人工智能学习资源 2019.12
    计算机电子书 2016 BiliDrive 备份
    计算机电子书 2017 BiliDrive 备份
    Java项目中常见的异常处理
    从小工到专家第三次读后感
    《梦断代码》读后感1
  • 原文地址:https://www.cnblogs.com/kuugaxxx/p/11768050.html
Copyright © 2011-2022 走看看