插入排序
#include<iostream>
using namespace std;
void insert_sort(int a[], int n) {
int i, j;
int temp;
for (i = 1; i<n; i++) { //循环从第2个元素开始
if (a[i - 1]>a[i]) {
temp = a[i];
for (j = i - 1; j >= 0 && a[j]>temp; j--) {
a[j + 1] = a[j];
}
a[j + 1] = temp;//此处就是a[j+1]=temp;
}
}
}
void ShellSort(int *arr, int len)
{
int temp = 0;
int count = 0;
for (int gap = len / 2; gap > 0; gap /= 2)
{
for (int i = gap; i < len; i++)
{
int j = i - gap;
while (j >= 0 && arr[j] > arr[j + gap]) //所在分组需做交换
{
temp = arr[j];
arr[j] = arr[j + gap];
arr[j + gap] = temp;
j -= gap;
}
}
}
}
int main() {
int a[8] = { 70,50,30,20,10,70,40,60 };
int n = 8;
cout << "插入排序:";
insert_sort(a, n);
for (int i = 0; i <n; i++) {
cout << a[i] << ' ';
}
cout << endl;
int b[8] = { 70,50,30,20,10,70,40,60 };
cout << "希尔排序:";
ShellSort(b, n);
for (int i = 0; i < n; i++) {
cout << b[i] << ' ';
}
cout << endl;
system("pause");
return 0;
}
https://blog.csdn.net/qq_33289077/article/details/90370899
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现