酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

#include<iostream> using namespace std;#include<stdlib.h>#include<time.h> const int n=10; const int min=10; const int max=99; int getrand(inmin,int max) { return (rand()%(max-min+1)+min); void set(int r[],int n) { int i; for(i=0; i<n; i++) r[i]=getrand(min,max); void show(intr[],int n){ int i; for(i=0; i<n; i++) cout<<r[i]<<""; cout<<endl; void shellsort(int r[],int n){//由你完成} int main() { srand(time(0)); int a[n]; set(a,n); cout<<"原序列:"; show(a,n); cout<<"新序列: \n; shellsort(a,n);//show(a,n); re

以下是一个简单的希尔排序函数 `shellsort` 的实现示例: ```cpp #include <iostream> using namespace std; #include <stdlib.h> #include <time.h> const int n = 10; const int min = 10; const int max = 99; int getrand(int min, int max) { return (rand() % (max - min + 1) + min); } void set(int r[], int n) { int i; for (i = 0; i < n; i++) r[i] = getrand(min, max); } void show(int r[], int n) { int i; for (i = 0; i < n; i++) cout << r[i] << " "; cout << endl; } void shellsort(int r[], int n) { int gap, i, j, temp; for (gap = n / 2; gap > 0; gap /= 2) { for (i = gap; i < n; i++) { temp = r[i]; for (j = i; j >= gap && r[j - gap] > temp; j -= gap) r[j] = r[j - gap]; r[j] = temp; } } } int main() { srand(time(0)); int a[n]; set(a, n); cout << "原序列: "; show(a, n); shellsort(a, n); cout << "新序列: "; show(a, n); return 0; } ``` 希尔排序是一种插入排序的改进算法,通过选择不同的步长逐步对数组进行排序。 [2024-10-31 11:04:08 | AI写代码神器 | 407点数解答]

相关提问