diff --git a/归并排序 b/归并排序 new file mode 100644 index 0000000..175f7db --- /dev/null +++ b/归并排序 @@ -0,0 +1,36 @@ +int merge(int r[],int s[],int left,int mid,int right) +{ + int i,j,k; + i=left; + j=mid+1; + k=left; + while((i<=mid)&&(j<=right)) + if(r[i]<=r[j]) + { + s[k] = r[i]; + i++; + k++; + } + else + { + s[k]=r[j]; + j++; + k++; + } + while(i<=mid) + s[k++]=r[i++]; + while(j<=right) + s[k++]=r[j++]; + return 0; +} +int main() +{ + int a[10]; + int i; + for(i=0;i<10;i++) + scanf("%d",&a[i]); + merge_sort(a,a,0,9); + for(i=0;i<10;i++) + printf("%d ",a[i]); + return 0; +} \ No newline at end of file