1.排序的概念
排序就是使一串数据按照特定的规律比较,进行排列出来的操作。
常见的排序算法
//排序实现的接口
void InsertSort(int* a,int n); //插入排序
void ShellSort(int* a,int n); //希尔排序
void SelectSort(int* a, int n); // 选择排序
void AdjustDwon(int* a, int n, int root);
void HeapSort(int* a, int n);// 堆排序
// 冒泡排序
void BubbleSort(int* a, int n)
// 快速排序递归实现
// 快速排序hoare版本
int PartSort1(int* a, int left, int right);
// 快速排序挖坑法
int PartSort2(int* a, int left, int right);
// 快速排序前后指针法
int PartSort3(int* a, int left, int right);
void QuickSort(int* a, int left, int right);
// 快速排序 非递归实现
void QuickSortNonR(int* a, int left, int right)
// 归并排序递归实现
void MergeSort(int* a, int n)
// 归并排序非递归实现
void MergeSortNonR(int* a, int n)
// 计数排序
void CountSort(int* a, int n)
2.常见排序的实现
1.插入排序
直接插入
直接插入法是一种简单的