Реферат: Разработка алгоритмов и программ выполнения операций над последовательными и связанными представлениями структур данных
/*обьединение в последовательном представлении
N - кол-во вершин в новом графе, N2 - кол-во дуг в Y.*/
{float i,j,newn=0;
Array *newX = new Array [n1]; //выделение памяти для графа в последоват представлении
//cout<<' ';
for(i=0;i<n1;i++){//cout<<"\b\\"; //цикл для графа в пследовательном пред.
for(j=0;j<n;j++) //цикл для графа в связанном пред.
if(X[i].I==j){//cout<<"\bД"; //если совпали выходищие вершины...
Spisok *max=Y[j]; //max глядит на начало списка Y[j]
int Flag=0; //Просто флаговая переменная
while(max!=NULL){ //Проверяем на совпадения "входящие" вершины
if(X[i].J==max->index){Flag=1;break;}//если нашли повторение, то выход
max=max->next; //передвигаемся на следующий элемент списка
}
if(Flag==0){ //если не было совпадений вершин, то... всё понятно:
newX[newn].I=X[i].I;
newX[newn].J=X[i].J;
newn++;
}
//cout<<"\b|";
}
//cout<<"\b/";
}
//cout<<"\b \b";
n1=newn;
delete [] Z;
return newX;
}
////////////////////////////////////////////////////////////////////////