Exceptioninthread"main"java.lang.NullPointerExceptionatmst.MST1.main(MST1.java:29)一直找不到问题所在,顺便把所有代码附上,跪求大神帮忙解决下吧。。。packagemst;publicclass...
Exception in thread "main" java.lang.NullPointerException
at mst.MST1.main(MST1.java:29)
一直找不到问题所在,顺便把所有代码附上,跪求大神帮忙解决下吧。。。
package mst;
public class MST1 {
public static void main(String[] args){
double totalw=0;
long totalt =0;
MST1 MT = new MST1();
for(int p=0;p<15;p++){
int num=5;
int k=0;
double sum=0;
disjoint d = MT.new disjoint();
quicksort q= MT.new quicksort();
graph g= MT.new graph();
edges e= MT.new edges(0,0,0.1);
double[][] graph1 =g.generate(num);
edges[] edgelist1= g.listedges(graph1);
edges[] e1= new edges[num-1];
long starTime =System.currentTimeMillis();
for(int i1=0;i1
d.make_set(i1);
}
q.e_sort (edgelist1, 0, edgelist1.length);
for (int i=0;i
{
if(d.find_set(edgelist1[i].start)!=d.find_set(edgelist1[i].end)){
e1[k] = MT.new edges(edgelist1[i].start,edgelist1[i].end,edgelist1[i].weight);
d.union_set(edgelist1[i].start,edgelist1[i].end);
k++;
}
}
for (int i2=0;i2
{
sum = sum +e1[i2].weight;
}
long endTime = System.currentTimeMillis();
totalw = totalw +sum;
long startTime = 0;
totalt = totalt +endTime - startTime;
}
System.out.println("Average L(n)= "+totalw/15 +"Avarage Running Time :" +totalt/15 );
}
public class disjoint {
int n=10000;
int[] p= new int[n];
int[] rank= new int[n];
void make_set(int i) {
}
int find_set(int x) {
return 0;
}
void union_set(int x, int y) {
}
}
class quicksort {
public void q_sort(double[] s, int l,int r ) {
}
public void e_sort(edges[] e, int l ,int r) {
}
}
class edges{
int start, end;
double weight;
public edges(int start,int end, double weight) {
}
public double getWeight(edges e) {
return 0;
}
public double totalweight (edges[] e) {
return 0;
}
}
public class graph {
public double[][] generate(int n) {
return null;
}
public double[] listlength(double[][] d) {
return null;
}
public edges[] listedges(double [][] d) {
return null;
}
}
}
补充一下报错的那行代码是这个:
q.e_sort (edgelist1, 0, edgelist1.length);
展开