💗个人主页💗 ⭐个人专栏——数据结构学习⭐ 💫点击关注🤩一起学习C语言💯💫
目录
导读:数组打印与交换1. 插入排序1.1 直接插入排序1.1.1 基本思想1.1.2 实现代码1.1.3 图解
1.2 希尔排序1.2.1 基本思想1.2.2 实现代码1.2.3 图解
2. 选择排序2.1 直接选择排序2.1.1 基本思想2.1.2 实现代码2.1.3 图解
2.2 堆排序2.2.1 基本思想2.2.2 实现代码图解
导读:
我们在前面学习了单链表,顺序表,栈和队列,小堆,链式二叉树。 今天我们来学习排序,包括直接插入排序,希尔排序,选择排序,堆排序,冒泡排序,快排以及归并排序。 冒泡排序,快排和归并排序我们放在之后分析,今天主要来分析前面的。 关注博主或是订阅专栏,掌握第一消息。
数组打印与交换
为了方便我们来测试每个排序是否完成,我们来写个打印数组和交换两数的函数,方便我们后续的打印与交换。
void PrintArray(int* a, int n)
{
for (int i = 0; i 1)
{
gap = gap / 3 + 1;
int i = 0;
//特别主要i的范围,避免越界
for (i = 0; i = 0)
{
if (tmp |