21xrx.com
2024-09-20 00:25:37 Friday
登录
文章检索 我的文章 写文章
C++直接插入排序代码
2023-07-04 01:32:00 深夜i     --     --
C++ 直接插入排序 代码

直接插入排序是一种简单的排序算法,其基本思想是在已排好序的序列中插入新的元素,使得序列仍然有序。下面是C++语言实现直接插入排序的代码。


void InsertionSort(int arr[], int n)

{

  for (int i = 1; i < n; ++i) {

    int temp = arr[i];

    int j = i - 1;

    while (j >= 0 && temp < arr[j]) {

      arr[j + 1] = arr[j];

      --j;

    }

    arr[j + 1] = temp;

  }

}

该函数接受一个数组和数组的长度作为参数,函数将会按照从小到大的顺序对数组进行排序。

在函数中,第一个循环用于遍历整个数组,从第二个元素开始进行排序。在每一次循环中,我们将当前要排序的元素保存在 temp 中,然后将其与已排好序的序列中的元素进行比较。如果这个元素比已排好序的序列中的某个元素小,那么就将这个元素往后移动一位,以便为 temp 腾出一个位置。接着我们将 temp 插入到已排序序列的合适位置即可。

通过该函数,我们可以非常方便地在C++中实现直接插入排序。由于该算法的时间复杂度为 O(n²),因此它主要适用于处理小规模数据的排序。当面对大规模数据时,更高效的排序算法,例如 快速排序和归并排序,可能更适合。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复