1.希尔排序 shell_sort
http://acm.hdu.edu.cn/showproblem.php?pid=1040
#include <stdio.h>
#include <stdio.h>
///a[0] 作为临时单元
void shell_insert(int *a,int n,int dk)
{
int i,j;
for(i = dk + 1; i <= n; ++i)
if(a[i] < a[i - dk])
{
a[0] = a[i];
for(j = i - dk; j > 0 && a[j] > a[0]; j -= dk)
a[j+dk] = a[j];
a[j+dk] = a[0];
这篇博客详细介绍了五种排序算法:希尔排序、计数排序、归并排序、快速排序以及堆排序。希尔排序通过设置不同间隔序列进行排序,计数排序适用于非负整数排序,归并排序则采用分治策略。此外,还讨论了快速排序在寻找第K小元素的应用,以及堆排序和两种不同的拓扑排序实现方法,包括栈和DFS。
订阅专栏 解锁全文
31万+

被折叠的 条评论
为什么被折叠?



