【数据结构】排序算法全解析:概念与接口 - 指南

1.排序的概念及其运用

1.1 排序的概念

排序使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。就是:所谓排序,就

稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次

序保持不变,即在原序列中,r[i]=r[j],且 r[i]在 r[j]之前,而在排序后的序列中,r[i]仍在 r[j]之前,则称这种排

稳定的;否则称为不稳定的。就是序算法

内部排序:材料元素全部放在内存中的排序。

外部排序:材料元素太多不能同时放在内存中,根据排序过程的要求不能在内外存之间移动数据的排序。

1.2 常见的排序算法

排序的相关接口:

//排序实现接口
// 插入排序
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);

排序算法的原理和实现:

【数据结构】揭秘直接插入排序:玩扑克也能学算法-CSDN博客

【数据结构】希尔排序:高效分组的插入排序优化-CSDN博客

【数据结构】直接选择排序-CSDN博客

【数据结构】飞快排序算法精髓解析-CSDN博客

【数据结构】递归与非递归:归并排序全解析-CSDN博客

posted @ 2025-08-22 18:08  yfceshi  阅读(6)  评论(0)    收藏  举报