zoukankan      html  css  js  c++  java
  • 插入法排序

    问题如下:任意输入一串文字,使用排序法按照顺序排出来。
    分析问题:首先看一下这个题,经过读题我们得知使用方法是排序法,先说一下什么是插入法:如果有n个数,则要进行n-1趟比较。在第1趟比较中要进行n-1次相邻元素的两两比较,在第j趟比较中要进行n-j次两两比较。比较的顺序从前往后,经过一趟比较后,将最值沉底(换到最后一个元素位置),最大值沉底为升序,最小值沉底为降序。代码如下:

     1 #include <stdio.h>
     2 int insort(int s[],int n)
     3 {
     4 int i,j;
     5 for(i=2;i<=n;i++)
     6 {
     7 s[0]=s[i];
     8 j=i-1;
     9 while(s[0]<s[j])
    10 {
    11 s[j+1]=s[j];
    12 j--;
    13 }    
    14 s[j+1]=s[0];
    15 }
    16 }
    17 int mian()
    18 {
    19 int a[11],i;
    20 printf("请输入10个数据:
    ");
    21 for(i=1;i<=10;i++)
    22 scanf("%d",&a[i]);
    23 printf("原始数据:
    ");
    24 for(i=1;i<11;i++)
    25 printf("%d",a[i]);
    26 insort(a,10);
    27 printf("插入数据后排序:
    ");
    28 for(i=1;i<11;i++)
    29 printf("%d",a[i]);
    30 printf("
    ");
    31 }
  • 相关阅读:
    HDU_2955_Robberies_01背包
    01背包
    最长升序子序列
    快速排序
    HDU_1875_畅通工程再续
    iOS app 设计推荐
    iOS 两种方法实现左右滑动出现侧边菜单栏 slide view
    iOS 8自动调整UITableView和UICollectionView布局
    iOS app发布流程
    iOS博客推荐
  • 原文地址:https://www.cnblogs.com/xqyhnl/p/10139809.html
Copyright © 2011-2022 走看看