归并排序代码总会停止运行帮帮我
#include <bits/stdc++.h>#include <cmath>
using namespace std;
int a[80]= {0},r[80]= {0};
int pa(int s,int t);
int main() {
for(int i=0; i<10; i++) {
cin>>a[i];
}
pa(0,9);
for(int i=0; i<10; i++) {
cout<<r[i];
}
return 0;
}
int pa(int s,int t) {
if(s==t) {
return 0;
}
int mid=ceil((s+t)/2.0);
pa(s,mid);
pa(mid+1,t);
int i=s,j=mid+1,k=s;
while(i<=mid&&j<=t) {
if(a[i]<=a[j]) {
r[k]=a[i];
k++;
i++;
} else {
r[k]=a[j];
k++;
j++;
}
}
while(i<=mid) {
r[k]=a[i];
k++;
i++;
}
while(j<=t) {
r[k]=a[j];
k++;
j++;
}
for(int l=s; l<=t; l++) {
a[l]=r[l];
}
return 0;
}