zoukankan      html  css  js  c++  java
  • 实习之路--点滴积累三_插入

    插入排序

    原理:

    (1)“当前元素”将数组分为两部分,左半部分为已经排好序的,右半部分为未排好序的

    (2)然后将“当前的元素”插入到左半部分已经排好序的元素中

    (3)对数组中的每个元素都执行上述操作,即可得到排序后的数组

     需要注意的是:

    (1)是从数组中的第二个数开始排序,一直到最末尾的元素为止

    代码如下:

     1 void Insert_Sort(long *p, long n)
     2 {
     3     
     4     for (long i = 1; i < n; i++)
     5     {
     6         long temp = p[i], j = i;
     7         while (j > 0 && temp < p[j - 1])
     8         {
     9             p[j] = p[j - 1];
    10             j--;
    11         }
    12         p[j] = temp;
    13     }
    14 }

    主函数测试代码:

    1 int main()
    2 {
    3     long s[] = { 3, 5, 8, 1, 2, 4, 6, 9, 7, 10 };
    4     Insert_Sort(s, 10);
    5     for (long i = 0; i < 10; i++) cout << s[i] << ends << ends;
    6     return 0;
    7 }

    实验截图:

  • 相关阅读:
    创建被访问的swf文件
    BFS寻路算法的实现
    Flex里的命名空间,fx、mx、s【转】
    Flex的基础用法【转】
    Pow(x, n)
    Roman to Integer
    Integer to Roman
    Divide Two Integers
    Single Number II
    Single Number I
  • 原文地址:https://www.cnblogs.com/casparzheng/p/4370280.html
Copyright © 2011-2022 走看看