Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Розробка алгоритмів і програм виконання операцій над послідовними і пов'язаними представлени ...

Реферат Розробка алгоритмів і програм виконання операцій над послідовними і пов'язаними представлени ...





///////

void DeleteY (Spisok ** Z, int n)

{int i = 0;

Spisok * rex;

for (i = 0; i

rex = Z [i];

while (rex! = NULL) {Z [i] = rex-> next; delete rex; rex = Z [i];}

delete Z [i];

}

delete [] Z;

}

////////////////////////////////////////////////////////////////////////////////

Spisok ** RaznostY (int n, int n1, Array * X, Spisok ** Y)

{/ * Розрахунок різниці графів Z = X-Y

Z, Y - пов'язаному поданні, X - в послідовному.

n - кол-во вершин графа, n1 - кількість дуг графа */

int i, j;

Spisok ** Z = new Spisok * [n] ;//виділення пам'яті для графа у зв'язаному поданні

for (I = 0; i

// cout <<'';

for (i = 0; i

for (j = 0; 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 ;//якщо знайшли повторення, то вихід

max = max-> next;// пересуваємося на наступний елемент списку

}

if (Flag == 0) {//якщо небуло збігів вершин, то ... все зрозуміло:

Spisok * End = Z [j], * beg = Z [j], * pred = Z [j];

while (End! = NULL) {pred = end; end = end -> next;}

end = Pred;

if ((beg == NULL) && (end == NULL)) Z [j] = beg = end = new (Spisok);

else end = end -> next = new (Spisok);

end -> Next = NULL;

end -> Index = X [i]. J;

}

// cout <<" b |";

}

// cout <<" b ";

}

// cout <<" b B ";

DeleteY (Y, n);// Вбивство пов'язаного графа Ігрика! p> return Z;

}

void Demo (void)

/* Х - у послідовному поданні

У - в пов'язаному поданні */


{int n = 4, N2;

clrscr ();// Очищення екрана

CursorOff ();

cout <<" t tДемонстрація працездатності програми. "<

char st [] = "GrapH.txt";// ім'я генерується файлу

cout <<" t tІмя файла з даними завдання:" <

WriteFile (st, n);// Генерація файлу з н вершинами

n = HowMuch (st);// підрахунок числа вершин графів

int N1 = Number (N2, st);// підрахунок числа дуг

Array * X = new Array [N1];// виділення пам'яті для графа в последоват поданні

X = ReadFileX (X, st);// читання графа в послідовному поданні

cout <<" N X в послідовному";

print3 (X, N1, n);// вивід графа в послідовному поданні

Spisok ** Y = new Sp...


Назад | сторінка 10 з 14 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Розробка та реалізація мовою високого рівня алгоритму виділення сільносвязн ...
  • Реферат на тему: Розробка та реалізація алгоритму Флойда і Беллмана-Форда для пошуку найкоро ...
  • Реферат на тему: Спектр графа
  • Реферат на тему: Метричні характеристики графа
  • Реферат на тему: Алгоритм розмальовки графа