常用排序算法实现

以上是排序算法的时间复杂度

下面是具体实现:

template<typename T>

void bubbleSort(T arr[],int len)
{
T temp;
for (int i = 0; i < len; i++)
{
for (int j = 0; j < len - i-1; j++)
{
if (arr[j] > arr[j + 1]) 
{
temp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = temp;
}
}
}
}


template<typename T>
void selectSort(T arr[], int len)
{
T temp;
for (int i = len -1; i > 0; i--)
{
int min = i;
for (int j = 0; j < i; j++)
{
if (arr[j] > arr[min])
{
min = j;
}
}
if (min != i) {
temp = arr[i];
arr[i] = arr[min];
arr[min] = temp;
}
}

}


template<typename T>
void insertSort(T arr[], int len)
{
T temp;
//int arr[7] = { 1,9,7,3,8,5,7 };
for (int i = 1; i < len; i++)
{
int getIdx = i;
temp = arr[i];
for (int j = i; j > 0; j--)
{
if (temp < arr[j-1])
{
arr[j] = arr[j - 1];
getIdx = j - 1;
}
else 
{
break;
}
}


if (getIdx != i) {
arr[getIdx] = temp;
}
}
}


相关文章:

  • 2021-06-23
  • 2021-11-26
  • 2021-07-18
  • 2021-09-26
  • 2021-08-13
  • 2021-09-05
  • 2022-12-23
猜你喜欢
  • 2021-05-12
  • 2021-11-23
  • 2021-07-13
  • 2021-04-21
  • 2021-08-19
  • 2021-06-11
相关资源
相似解决方案