排序算法有很多种,本文主要介绍基本的排序算法和实现,并分析复杂度和稳定性。

 

一、Ο(n2)的算法

  1、插入排序

  插入排序十分好理解,在无序的数组中选择一个数值,插入到有序的数组当中,这个过程是稳定的。实现代码如下:

  

1 template <typename T>
2 void InsertionSort(vector<T> &arr){
3     int i, j;
4     for (i = 1; i < arr.size(); i++) {
5         int temp = arr[i];
6         for (j = i - 1; j >= 0 && arr[j] > temp; j--)
7             arr[j + 1] = arr[j];
8         arr[j + 1] = temp;
9     }
InsertionSort

相关文章:

  • 2021-07-23
  • 2021-08-27
  • 2021-05-21
  • 2021-06-25
  • 2021-08-17
  • 2021-04-21
  • 2022-12-23
猜你喜欢
  • 2021-06-20
  • 2022-12-23
  • 2022-01-07
  • 2021-12-16
  • 2022-01-08
  • 2022-12-23
  • 2021-08-08
相关资源
相似解决方案