多重鄰接表的複製 利用拷貝建構函式實現

2021-07-09 12:28:16 字數 663 閱讀 5232

有時希望複製一下原有的多重鄰接表進行分析,該多重鄰接表資料結構**可參照**有微小出入。鄰接表結構如下:

typedef struct muladjgraph

muladjgraph(muladjgraph&);//拷貝建構函式

void arccopy(muladjgraph &g,int v);//拷貝建構函式遞迴部分,賦值邊

}muladjgraph;

**實現部分需要基礎函式markunvizited(g);在以上提供的**中有該函式,不詳細介紹

void muladjgraph::arccopy( muladjgraph &g,int v )

else

p->isvisited_a = true;

if(!g.adjmulist[j].isvisited)

this->arccopy(g,j);

} p = p->ivex==v?p->ilink:p->jlink; }}

muladjgraph::muladjgraph( muladjgraph &g )

markunvizited(g); // 置邊的訪問標記為未被訪問

for(i=0;iarccopy(g,i);

}

其呼叫可參照實驗部分截圖

物件的複製與拷貝建構函式

物件的複製 物件的賦值,是利用 運算子將乙個物件的成員變數賦值給另乙個物件的成員變數。可以說是對已經存在的兩個物件進行操作。物件的複製是乙個從無到有的乙個過程,在物件建立的時候就以乙個已經存在的物件為源頭進行建立本物件。例如 student zhangsan zhangsan 1002,20 stu...

c 中的拷貝構造和拷貝複製的區別

拷貝構造。string s1 hello string s2 s2 s1 此處呼叫的並不是拷貝建構函式,而呼叫的是拷貝複製函式。首先我們了解一下拷貝建構函式和拷貝複製函式的區別,故名思意拷貝複製及時將乙個類物件一模一樣的複製給另乙個類物件。注意此時發生在物件到物件之間,即兩個物件都已經建立了。而反觀...

C 類物件的複製 拷貝建構函式 深拷貝,淺拷貝

c 類物件的複製 拷貝建構函式 深拷貝,淺拷貝 進一步理解類成員的操作!站點 www.ev lab.com include using namespacestd classtest protected intp1 void main 普通物件和類物件同為物件,他們之間的特性有相似之處也有不同之處,類...