0

这就是我所做的,但是当我调试时出现分段错误(Step Into -> v.assign() 是问题所在。

void vertex::sort_all_neighbours(int i, int **array, int size_array){

v.reserve(size_array);    
v.assign(&array[i][0], &array[i][size_array-1]);
//for (j = 0; j < size_array; j++) v[j] = array[i][j];
make_heap(v.begin(), v.end());
sort_heap(v.begin(), v.end());
v.erase(v.begin());
assign_neighbors(i);
}

谢谢您的帮助。

4

1 回答 1

0

我可能会更改其他功能/程序中的某些内容,这是一个解决方案

void vertex::sort_all_neighbours(int i, int **array, int size_array){

v.reserve(size_array);    
v.assign(&array[i][0], &array[i][size_array]);
make_heap(v.begin(), v.end());
sort_heap(v.begin(), v.end());
v.erase(v.begin());
assign_neighbors(i);
}
于 2013-03-05T22:34:35.040 回答