数据结构实验之排序六:希尔排序 (SDUT 3403)
2023-06-13 09:17:22 时间
其实,感觉好像增量不同的冒泡,希尔排序概念以后补上。
补:希尔排序主要是根据增量的不同来进行排序,来做到先小后大。
#include <bits/stdc++.h>
using namespace std;
int a[10005];
int b[10005];
void shsort(int dk, int n, int a[])
{
for(int i = dk; i < n; i ++) //前 dk 不用往前找
{
for(int j = i - dk; j >= 0; j -= dk)
{
if(a[j] > a[j + dk])
{
int t = a[j];
a[j] = a[j + dk];
a[j + dk] = t;
}
}
}
}
int main()
{
int n;
while(scanf("%d",&n) != EOF)
{
for(int i = 0; i < n; i ++)
{
scanf("%d",&a[i]);
b[i] = a[i];
}
shsort(n/2,n,a);
shsort(1,n,b);
for(int i = 0; i < n; i ++)
{
printf(i == n - 1 ?"%d\n":"%d ",a[i]);
}
for(int i = 0; i < n; i ++)
{
printf(i == n - 1 ?"%d\n":"%d ",b[i]);
}
}
return 0;
}
相关文章
- 算法与数据结构在我眼中的样子(1)排序算法
- TreeMap数据结构之排序二叉树
- 字典树的数据结构_数据结构快速排序
- 算法与数据结构之计数排序
- Go 数据结构和算法篇(八):快速排序
- 召回和排序模型中的用户行为序列的建模
- 数据结构实验之排序三:bucket sort (SDUT 3400)
- 数据结构与算法:排序
- oracle中对数字加汉字的排序以及REGEXP_SUBSTR介绍详解数据库
- 数据结构基础 归并排序 java 实现详解编程语言
- Java数据结构和算法(九)——高级排序详解编程语言
- Oracle自动排序:一个令人惊叹的解决方案(oracle自动排序)
- MySQL升序排列如何按顺序进行数据排序(mysql中升序排列)
- Oracle中如何使用排序功能(oracle中怎么排序)
- 方法Oracle中应用两种排序方法简析(oracle 两种排序)
- Oracle数据库中不使用并列排序的优势(oracle不并列排序)
- CSS注释、命名、继承性、样式排序等CSS技巧的小结
- mysql按中文字段排序
- 快速排序php与javascript的不同之处
- php数据结构算法(PHP描述)简单选择排序simpleselectionsort
- javascript小组件原生table排序表格脚本(兼容iefirefoxoperachrome)