为什么ver[0].flag = j;后,栈中所有的ver[0].flag全被修改了?请指教for(j= 1;j < verNum;j ++){//第一步,两个顶点的情况
if(length[begin][j] < sum){
v[j].w = v[0].w + length[begin][j];
System.out.print(" " + v[j].w + v[j].name);
Vertex ver[] = new Vertex[verNum + 1];
ver[0] = v[0];
ver[1] = v[j];System.out.println(" ver[" + j + "]=" + ver[1].name);;
ver[0].flag = j;
sta.push(ver);
if(length[begin][j] < sum){
v[j].w = v[0].w + length[begin][j];
System.out.print(" " + v[j].w + v[j].name);
Vertex ver[] = new Vertex[verNum + 1];
ver[0] = v[0];
ver[1] = v[j];System.out.println(" ver[" + j + "]=" + ver[1].name);;
ver[0].flag = j;
sta.push(ver);
解决方案 »
- myeclipse无法粘贴jar文件
- hibernate继承类的问题?
- java通过axis调用web service,传入参数,得到的xml结果却感觉好象参数没有传进去
- 广州软件开发人员离职不好找工作的朋友进来吧。
- 有谁知道怎么拿出group by 出来的数据?
- 跪求高手帮忙
- 关于Struts+Hiberate!拜托各位大虾!
- 请问谁有定时任务的源程序(比如每过1秒就打印“hello”),在线等!!!急急!!!
- java.lang.OutOfMemoryError请教如何解决,我的web server是oracle servlet
- 有谁做过在FlashMX中调用过EJB ?
- java 取字段名
- 引入出现错误 getHibernateTemplate()
Vertex ver[] = new Vertex[verNum + 1];
这句代码共执行 三步:
//1.Vertex ver[] 在栈中申明的一个变量ver,类型是 Vertex[];
//2.在堆中创建一个对象 new Vertex[verNum + 1];
//3. “=”意思是: 将栈中的变量 ver 引用指向堆中的对象 new Vertex[verNum + 1];所以:在 ver[0].flag = j;执行后,即改变了 内存堆中的对象 new Vertex[verNum + 1]的第一个元素(ver[0])的属性;