zoukankan      html  css  js  c++  java
  • 王道数据结构 (15) 直接插入排序

    伪代码:

    可运行代码:

    #include <stdio.h>
    int insort(int s[], int n) /* 自定义函数 insort()*/
    {
      int i, j;
      for (i = 2; i <= n; i++) //数组下标从2开始,s[0]做监视哨,s[1]一个数据无可比性
      {
        s[0] = s[i]; //给监视哨陚值
        j = i - 1;
        while (s[0] < s[j])
        {
          s[j + 1] = s[j]; //数据右移
          j--;             //产移向左边一个未比较的数
        }
        s[j + 1] = s[0]; //在确定的位置插入s[i]
      }
      return 0;
    }
    int main()
    {
      int a[11], i; //定义数组及变量为基木整甩
      printf("请输入7个数据:
    ");
      for (i = 1; i <= 7; i++)
        scanf("%d", &a[i]); //接收从键盘输入的10个数据到数组a中
      printf("原始顺序:
    ");
      for (i = 1; i < 8; i++)
        printf("%5d", a[i]); //将未排序前的顺序输出
      insort(a, 7);          //调用自定义函数 insort()
      printf("
     插入数据排序后顺序:
    ");
      for (i = 1; i < 8; i++)
        printf("%5d", a[i]); //将排序后的数组输出
      printf("
    ");
      return 0;
    }

    运行效果:

  • 相关阅读:
    python-生成器
    python—迭代器
    python—递归函数
    CentOS关闭防火墙
    OpenHCI
    USB电源管理
    USB相关的网络资料
    USB Packet Types
    USB描述符概述
    Core Java Volume I — 1.2. The Java "White Paper" Buzzwords
  • 原文地址:https://www.cnblogs.com/guangzhou11/p/13515994.html
Copyright © 2011-2022 走看看