zoukankan      html  css  js  c++  java
  • 插入排序的优化过程

     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 }
  • 相关阅读:
    MinGW
    zip ubuntu使用
    7zip ubuntu使用
    ffmpeg入门
    音频采样
    购房需知
    linux网络配置相关
    挂载与卸载
    spring boot启动异常:java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver
    获取配置文件yml的@ConfigurationProperties和@Value的区别
  • 原文地址:https://www.cnblogs.com/liugangjiayou/p/11729367.html
Copyright © 2011-2022 走看看