希尔排序
问题:希尔排序又叫缩小增量排序。增量的选取为d=length/2;d=d/2...d=1;
代码:
#include <iostream> using namespace std; void shellSort( int arr[], int length) { int d; int temp; int j,k; static int count=1; for (d=length/2;d>=1;d=d/2) { for (j=d;j<length;j++) { for (k=j-d;k>=0;k=k-d) { if (arr[k]>arr[k+d]) { temp=arr[k+d]; arr[k+d]=arr[k]; arr[k]=temp; } } } cout<< "第" <<count<< "趟希尔排序:" ; for ( int i=0;i<length;i++) { cout<<arr[i]<< " " ; } cout<<endl; } } void display( int arr[], int length) { int i; for (i=0;i<length;i++) { cout<<arr[i]<< " " ; } cout<<endl; } int main() { int array[]={7,2,34,8,7,68,1,30,21,6}; cout<< "希尔排序前:" <<endl; display(array,10); shellSort(array,10); cout<< "希尔排序后:" <<endl; display(array,10); return 0; } |
运行结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述