• 插入排序的优化过程


     1 #include<stdio.h>
     2 void judge(int days);
     3 void printfArr(int arr[],int len);
     4 void insert_sort1(int arr[],int len);
     5 void insert_sort2(int arr[],int len);
     6 void insert_sort3(int arr[],int len);
     7 int main()
     8 {
     9     int arr[10]={3,2,1,4,5,6,8,3,2,9};
    10     int len=10;
    11     insert_sort1(arr,len);
    12     printfArr(arr,len);
    13     
    14     getchar();
    15     getchar();
    16     return 0;
    17 }
    18 void printfArr(int arr[],int len)//输出结果
    19 {
    20     int  i;
    21     for(i=0;i<len;i++)
    22         printf("%d",arr[i]);
    23 }
    24 
    25 //插入排序
    26 void insert_sort3(int arr[],int len)
    27 {
    28     int temp,i,j;
    29     for(i=1;i<len;i++)//确定插入过程中需要插入元素的下标
    30     {
    31         temp=arr[i];//保存一下待插入的元素值
    32         for(j=i-1;j>=0&&temp<arr[j];--j)//j是已序序列最后一个下标
    33         {
    34             arr[j+1]=arr[j];
    35         }
    36         arr[j+1]=temp;//把保存的元素放到对应的位置
    37     }
    38 }
    39 
    40 void insert_sort2(int arr[],int len)
    41 {
    42     int temp,i,j;
    43     for(i=1;i<len;i++)//确定插入过程中需要插入元素的下标
    44     {
    45         temp=arr[i];//保存一下待插入的元素值
    46         for(j=i-1;j>=0;--j)//j是已序序列最后一个下标
    47         {
    48             if(temp>arr[j])//待插入的元素和最后一个元素进行判断
    49             {
    50                 arr[j+1]=arr[j];
    51             }
    52             else
    53                 break;
    54         }
    55         arr[j+1]=temp;//把保存的元素放到对应的位置
    56     }
    57 }
    58 
    59 void insert_sort1(int arr[],int len)
    60 {
    61     int temp,i,j;
    62     for(i=1;i<len;i++)//确定插入过程中需要插入元素的下标
    63     {
    64         
    65         for(j=i-1;j>=0;--j)//j是已序序列最后一个下标
    66         {
    67             if(arr[j+1]>arr[j])//待插入的元素和最后一个元素进行判断
    68             {
    69                 temp=arr[j+1];
    70                 arr[j+1]=arr[j];
    71                 arr[j]=temp;
    72             }
    73             else
    74                 break;
    75         }
    76     }
    77 }
  • 相关阅读:
    【转】Redis和Memcache对比及选择
    Ubuntu下php环境的搭建
    【HTML和CSS】总结
    【python】 The different between ' %r ' and ' %s '
    Learn Python The Hard Way
    Vim 插件配置及快捷键
    sublime-text 插件配置
    mysql-5.7在CentOS-7下的rpm安装
    oracle pdb基本管理
    Oracle 12cR2 Installation On CentOS-7
  • 原文地址:https://www.cnblogs.com/liugangjiayou/p/11729367.html
Copyright © 2020-2023  润新知