文章
316
粉丝
0
获赞
0
访问
46.9k
1):用三个变量a,b,c分别指示目前遍历到S1,S2,S3的那一个位置。然后再设变量minnum(初值设置为INT_MAX,)mina,minb,minc(初值都是-1)与刚计算出的D进行比较,如果D小于就将D赋值给minnum,a赋值给mina,b赋值给minb,c赋值给minc,并让S1[a],S2[b],S3[c]中最小的下标加1,例如,如果某次S1[a]最小就让a++,循环这个过程直到S1,S2,S3都遍历完成为止,最后的minnum就是所求最小距离
2): void min_D(int S1[],int S2[],int S3[],int m,int n,int z){//m,n,z分别是S1,S2,S3的长度
int mina=-1,minb=-1,minc=-1,minnum=INT_MAX;
int D=0;
int a=0,b=0,c=0;
while(a<m||b<n||c<z){
D=abs(S1[a]-S2[b])+abs(S2[b]-S3[c])+abs(S3[c]-S1[a]);//计算距离D
if(D<minnum){
minnum=D;
...
登录后发布评论
暂无评论,来抢沙发