//用“破圈法”求解壹個加權連通無向圖的最小費用生成樹。
{typedef struct {int i,j,w }節點。//設頂點信息為頂點編號,權重為整數。
節點邊緣[];
scanf( "%d%d ",& ampe & amp;n);//輸入邊數和頂點數。
for(I = 1;我& lt= e;I++) //輸入e邊:頂點和權重。
scanf("%d%d%d ",& amp邊緣[i]。我& amp邊緣[i]。j & amp;邊緣[i]。w);
for(I = 2;我& lt= e;I++) //根據權重對邊進行逆序排序。
{ edge[0]= edge[I];j = I-1;
while (edge[j].w & lt邊緣[0]。w)edge[j+1]= edge[j-];
edge[j+1]= edge[0];}//for
k = 1;eg = e;
while(例如& gt=n) //破圓,直到邊數e=n-1。
{if (connect(k)) //如果第k條邊仍然連通,則刪除它。
邊緣[k]。w = 0;eg-;}//測試下壹條邊[k],設置權重為0表示刪除該邊。
k++;//下壹個邊緣
}//當
}//算法結束。