xie-mx

插入排序 - C语言

插入排序的思想:

以现有的已排序元素为基础,下一个元素添加到正确的位置,则最终会完成排序。

第一个元素本身是已经排序好的。从第二个开始排。

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

int main()
{
        int test[10] = {1, 13, 8, 99, 10, 29, 9, 0, 19, 5};
        insertSort(test, 10);
        return 0;    
}

好,来分析一下代码。

首先,拿起来一个元素,从第二个开始。
对已排序的队列从后向前检查,只要没到头并且检查的数比它大就继续向前找,并且这些比它大的向后移动一个位置。
找到了,那么就将它放在现在这个位置,因为比它大的都后移动了。

分类:

技术点:

相关文章:

  • 2021-12-30
  • 2022-01-24
  • 2021-11-30
  • 2022-02-17
  • 2021-11-30
  • 2021-09-13
  • 2021-08-11
  • 2021-12-22
猜你喜欢
  • 2022-01-19
  • 2022-01-06
  • 2021-10-22
  • 2022-01-15
  • 2021-12-08
  • 2022-01-07
  • 2021-11-30
相关资源
相似解决方案