messi • 11个月前
using namespace std;//命名空间 int a[10086];//定义int型数组
int main() {//定义主函数main
int n;//定义n控制循环次数
cin >> n;//输入n
for (int i = 0; i < n; i++) {//输入的循环
cin >> a[i];//输入数组
}
int t = n;//int型的t赋值n
int f = 0;//int型的f赋值0
for (int r = t / 2; r >= 1; r /= 2) {//r控制步距
for (int i = r; i < n; i++) {//循环i次
int temp = a[i];//int型的temp
int j = i - r;//int型的j
while (j >= 0 && temp < a[j]) {//交换的循环
a[j + r] = a[j];//a[i+r]的值覆盖a[j]
j -= r;//值的移动
}
a[j + r] = temp;//
}
}
f++;//f值自加
for (int i = 0; i < n; i++) {//输出的循环
cout << a[i] << ' ';//输出a[i]
}
return 0;//返回0,结束程序
}
评论:
请先登录,才能进行评论