自己编写的归并排序
10294 点击·0 回帖
![]() | ![]() | |
![]() | #include<stdio.h>
void shellSort(int *a, int n) { int gap; int i; int j; int t; for(gap = n/2; gap > 0; gap = gap/2) { for(i = gap; i < n; i++) { j = a; t = i - gap; while(t >= 0 && j < a[t]) { a[t+gap]= a[t]; t = t - gap; } a[t+gap] = j; } } printf("排序后的数据:\n"); for(i = 0; i < n; i++) { printf("%d ",a); } printf("\n"); } int main() { int a[100] = {0}; int i = 0; int j = 0; printf("请输入您要排序的原始数(按-1键退出):"); while(true) { scanf("%d",&a); if(a == -1) break; j++; i++; } printf("\n"); shellSort(a, j); } | |
![]() | ![]() |