Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
krvnk
13 / 13 / 1
Регистрация: 01.04.2010
Сообщений: 164
#1

Представление графов с помощью связных списков - C++

15.06.2014, 23:43. Просмотров 486. Ответов 5
Метки нет (Все метки)

Здравствуйте уважаемые форумчане. Помогите мне пожалуйста. Никак не могу понять как представить граф с помощью связанных списков. Я так понял нужно использовать двунаправленный список.
Что то типо этого.
Ссыль на предыдущий
Вершина или Ребро
Ссыль на следующий.

Но никак не могу представить как это. Ведь из вершины может выходить не одно ребро. И если брать рёбра, то как они буду ссылать на друг друга. Вообщем помогите глупому)
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2014, 23:43     Представление графов с помощью связных списков
Посмотрите здесь:

Моделирование с помощью односвязанных списков C++
C++ Целое число перевести в 16-ричное и 8-ричное представление с помощью объекта
C++ Создать меню с 6-ю элементами с помощью классов и списков
Теорие графов. Композиция двух неор. графов. C++
Программирование графов C++
C++ Визуализация графов
OpenCV Выделение связных областей C++
C++ Поиск связных областей на изображении
Организовать представление множеств в виде линейных однонаправленных списков C++
C++ Представление графов С++
C++ Представление графов С++
Объединение двух связных списков с объектами одного типа C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kukurudza
105 / 86 / 6
Регистрация: 29.08.2012
Сообщений: 539
16.06.2014, 06:55     Представление графов с помощью связных списков #2
http://ru.wikipedia.org/wiki/%D0%93%...D0%BA%D0%B0%29
krvnk
13 / 13 / 1
Регистрация: 01.04.2010
Сообщений: 164
16.06.2014, 13:37  [ТС]     Представление графов с помощью связных списков #3
Ребята. Я немного туповат. Не могу представить в голове как выглядит список. Мозг сыпется просто. Нашёл в инэте код. Вроде то что нужно. Объясните пожалуйста.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
using namespace std;
struct node 
{ 
    int v; 
    node* next; 
    node(int X, node* t) 
    { 
        v = X; next = t; 
    }
};
typedef node *link;
int main() 
{ 
    int i, j; 
    link adj[5]; 
    for (i = 0; i < 5; i++) 
        adj[i]; 
    while (cin>>i>>j) 
    {
        adj[j] = new node(i, adj[j]); 
        adj[i] = new node(j, adj [i]);
    }
}
В частности в цикле for зачем нужно писать adj[i], что-то вроде инициализация списка? В цикле while, я не понимаю что там происходит adj это элемент списка и одновременно ссылка которой присваеваевается Ребро? А как потом добраться до этих рёбер?
SlavaSSU
215 / 160 / 45
Регистрация: 17.07.2012
Сообщений: 587
16.06.2014, 14:18     Представление графов с помощью связных списков #4
это на тему графы или на тему списки?
krvnk
13 / 13 / 1
Регистрация: 01.04.2010
Сообщений: 164
16.06.2014, 15:41  [ТС]     Представление графов с помощью связных списков #5
На тему графы. Но нужно сделать через списки. По дурацки звучит конечно.
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,917
Записей в блоге: 1
16.06.2014, 15:55     Представление графов с помощью связных списков #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
строй список: каждый элемент вершина графа + список указателей на связанные с ней элементы.
Yandex
Объявления
16.06.2014, 15:55     Представление графов с помощью связных списков
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru