C++插入排序算法详解:原理和示例代码

分类:知识百科 日期: 点击:0

插入排序是一种常用的排序算法,原理是将一个数据插入到已排序的数据中,使整个数据从小到大排序。C++中的插入排序算法实现如下:

算法步骤

  • 从第一个元素开始,该元素可以认为已经被排序
  • 取出下一个元素,在已经排序的元素序列中从后向前扫描
  • 如果该元素(已排序)大于新元素,将该元素移到下一位置
  • 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置
  • 将新元素插入到该位置后
  • 重复步骤2~5

示例代码

void insertSort(int arr[], int length)
{
    int i, j, temp;
    for (i = 1; i < length; i++)
    {
        temp = arr[i];
        j = i - 1;
        while (j >= 0 && arr[j] > temp)
        {
            arr[j+1] = arr[j];
            j--;
        }
        arr[j+1] = temp;
    }
}

以上就是C++插入排序的原理和示例代码,它的比较次数和移动次数均与被排序的记录数成正比,但它的性能比选择排序要好的多,因为它只需要比较记录的大小,而不需要移动记录。

标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。