zoukankan      html  css  js  c++  java
  • 用c语言编写直接插入法

     1 #include<stdio.h>
     2 
     3 //直接插入法
     4 void D_insert(int s[],int n);
     5 int main()
     6 {
     7     int i;
     8     int a[6];
     9     printf("please enter five numbers:
    ");
    10     for(i=1;i<6;i++)
    11     {
    12         scanf("%d",&a[i]);
    13     }
    14     D_insert(a,5);
    15     printf("after number:
    ");
    16     for(i=1;i<6;i++)
    17     {
    18         printf("%4d",a[i]);
    19     }
    20     printf("
    ");
    21 }
    22 void D_insert(int s[],int n)
    23 {
    24     int j,i;
    25     
    26     for(i=2;i<=n;i++)
    27     {
    28         s[0]=s[i];
    29         j=i-1;
    30         while(s[j]>=s[0]  &&  j>1)
    31         {
    32             s[j+1]=s[j];
    33             j--;
    34         }
    35         s[j+1]=s[0];
    36 
    37     }
    38 }

    这是相应的代码

    在方法函数的时候,又卡壳了。这是在n次编写之后的卡壳。

    下面就方法函数具体解释一下。

    首先空出一个来当哨兵。这里设定的为a[0];总共有n个数,则循环n-1次。所以i从2到n开始循环。把a[0]中放入要插入的数字,然后依次和之前的数字比较,如果比其小,则元素后移。

    按照这个原理,则有另一种的表示方法了

     1 #include<stdio.h>
     2 
     3 //直接插入法
     4 void D_insert(int s[],int n);
     5 int main()
     6 {
     7     int i;
     8     int a[6];
     9     printf("please enter five numbers:
    ");
    10     for(i=1;i<6;i++)
    11     {
    12         scanf("%d",&a[i]);
    13     }
    14     D_insert(a,5);
    15     printf("after number:
    ");
    16     for(i=1;i<6;i++)
    17     {
    18         printf("%4d",a[i]);
    19     }
    20     printf("
    ");
    21 }
    22 void D_insert(int s[],int n)
    23 {
    24     int j,i;
    25     
    26     for(i=2;i<=n;i++)
    27     {
    28         s[0]=s[i];
    29 
    30         while(s[i-1]>=s[0]  &&  i>1)
    31         {
    32             s[i]=s[i-1];
    33             i--;
    34         }
    35         s[i]=s[0];
    36 
    37     }
    38 }
  • 相关阅读:
    【模板】并查集
    P1063能量项链
    多维动归第一题
    7.14测试
    7.12测试
    7.10测试
    几种display:table-cell的应用
    instanceof和typeof的区别
    右侧悬浮广告
    JavaScript判断浏览器类型及版本
  • 原文地址:https://www.cnblogs.com/xiaochige/p/5997274.html
Copyright © 2011-2022 走看看