int all=wholeRoad.Length(); numIndex=new int[all+1]; numIndex[0]=0; RChainNode *temp=wholeRoad.getFirst(); for(int i=1; i<=all; i++) { numIndex[i]=temp->py; if(i!=all) temp=temp->next; } } void numIndexOutPut() { for(int i=1; i<=range; i++) cout< 13 } return false; } void getPriceIndex()//得到价格索引 { priceIndex=new int[number+1]; priceIndex[0]=0; for(int i=1; i<=number; i++) { priceIndex[i]=Bus[i-1].getPrice(); } } void getlPriceIndex()//得到处理后价格 { lpriceIndex=new int[number+1]; lpriceIndex[0]=0; for(int i=1; i<=number; i++) lpriceIndex[i]=priceIndex[i]*i*i; } void priceIndexOutPut() { for(int i=1; i<=number; i++) cout< 14 void getArea()//依此得到各站点中可能出现的边 { int bound=2*(wholeRoad.Length()-number)+1; area=new int[bound]; int i=1,ii=1; int sign=0; while(i<=bound-1) { for(int j=0; j 15 return j+1; } } void getDistanceMap()//得到以距离为权值的邻接矩阵 { DistanceMap=new double *[range+1]; for(int i=0; i<=range; i++) DistanceMap[i]=new double[range+1]; RChainNode *tem=wholeRoad.getFirst(); for(int i=0; i<=range; i++) { for(int j=0; j<=range; j++) { DistanceMap[i][j]=NoEdge; } } for(int i=1; i<=wholeRoad.Length()-1; i++) { DistanceMap[numIndex[i]][numIndex[i+1]]=tem->px; DistanceMap[numIndex[i+1]][numIndex[i]]=tem->px; tem=tem->next; } } void dMapOutPut()//打印出以距离为权值的邻接矩阵 { for(int i=1; i<=range; i++) { for(int j=1; j<=range; j++) printf(\ cout< 16
相关推荐: