LINUX.ORG.RU

История изменений

Исправление khrundel, (текущая версия) :

А кто сказал, что нужен?

Теория графов. В ней такие графы рассматриваются. Ну т.е. тот же список является частным случаем графа, у которого не более 2х рёбер у вершины и нет циклов, однако никакой идиот не предложит моделировать граф списком потому что «а кто сказал что нужно больше рёбер?» Но ты со своим говнорешением продолжаешь настаивать, что оно вполне пригодно, потому что «а вдруг прокатит».

Раз он не нужен, обошел, составил список нод, сделал free.

В этом решении прекрасно всё.

Во-первых, ты, фактически, признал, что без дополнительного контейнера для вершин ты не можешь никак. Только вместо того чтоб всегда иметь его под рукой ты будешь создавать его каждый раз.

Во-вторых, ты предлагаешь при каждом удалении ребра пробегать весь граф выискивая вершины, потерявшие связность. Ты же не предусмотрел альтернативного способа получить ссылку на вершину кроме ребра, ты настаиваешь, что тебе это не надо. Вот оно ребро, удаляется, возможно последний раз ты эту вершину видишь.

Меня поражает твоя упоротость. Ты написал очевидную глупость. Тебе разжевали. Ну казалось бы, то что ты - дурак и так понятно, а так об этом случае уже все забыли. Но нет, будешь до последнего пытаться исправить впечатление, что тебя не так поняли и ты имел в виду не это.

Где, лол. Это твоя позиция все делать исключительно через ту жопу, которую указал твой гуру.

Не через жопу и не гуру. Все нормальные люди моделируют графы массивами. На языках без GC смоделировать граф на указателях - тот ещё геморрой. На массивах графы делали ещё когда rust’а в помине не было. Только ты настолько сумасшедший, что не просто хочешь делать через жопу, но и утверждаешь, что иначе и делать нельзя. И ты так и не написал ни одного довода в пользу того, почему твоя идея лучше, ну кроме «а вдруг мне не понадобятся фишки, которые даёт реализация через массивы».

Если ты бы не был упорытышем, было бы понятно, что претензия к твоему божку в том, что оно делает это одним только методом.

Ну вот, начал сдавать назад. Ещё раз привожу цитату: «Графы. В графы руст тоже не умеет, надо костылить его через вектор?». Опять из контекста выдернули и ты имел в виду что-то иное?

что оно делает это одним только методом. Хочешь ты того, не хочешь, тебя поставили в стойло и говорят - делай вот так и никак иначе.

Понимаю твою боль. Ты, будучи неспособным понять как правильно, видимо очень часто слышишь от начальства «заткнись, и делай как я сказал». И вот теперь и компилятор начинает тобой помыкать, обидно. Это вообще общая тема у растоненавистников, вы воспринимаете ругань борроучекера не как подсказку от помощника «вот тут ты недоглядел», а как критику ревьювера, который докопался до ерунды.

С теми же графами, ты рассматриваешь случаи, когда тебе удобно иметь его целиком в векторе, случаев, когда тебе это граф не всрётся после удаления целой ветки для тебя нет, как и нет проблем

Чувак, графы всегда должны быть целиком. Даже на языке с GC, где нет вот всей этой мутотени с освобождением. Просто тупо понадобится тебе в отладчике посмотреть что не так с вершинам, выбывшими из графа. Да и нет никакой проблемы в расте сделать граф через жопу, как ты хочешь. Можно колхозить на поинтерах в unsafe. Можно в safe, через Rc<RefCell<Vertex>>. Оба варианта убитые, но можно. В ансейф вообще 1 в 1 как C. В варианте с Rc<RefCell<Vertex>> будет почти как ты описал, будешь пихать указатели на потерявшие связность вершины в контейнер, разница только в том, что вместо вызова free в цикле у тебя будет пробег по контейнеру и удаление всех рёбер из каждой вершины(чтоб отцепившиеся подграфы циклическими ссылками утечку памяти не создали) + потом удаление самого контейнера.

Трепач. Речь в том числе о его перестроении, и прочей срани. Выдернул из контекста, назначил себя победителем.

«Прочей срани» не было. Было про разрастание и «рандомное перестроение». Про перестроение я ответил, приведя в пример quicksort. Ну а насчёт разрастания - тебя никто за язык не тянул, сам эту тупость написал.

Исправление khrundel, :

А кто сказал, что нужен?

Теория графов. В ней такие графы рассматриваются. Ну т.е. тот же список является частным случаем графа, у которого не более 2х рёбер у вершины и нет циклов, однако никакой идиот не предложит моделировать граф списком потому что «а кто сказал что нужно больше рёбер?» Но ты со своим говнорешением продолжаешь настаивать, что оно вполне пригодно, потому что «а вдруг прокатит».

Раз он не нужен, обошел, составил список нод, сделал free.

В этом решении прекрасно всё.

Во-первых, ты, фактически, признал, что без дополнительного контейнера для вершин ты не можешь никак. Только вместо того чтоб всегда иметь его под рукой ты будешь создавать его каждый раз.

Во-вторых, ты предлагаешь при каждом удалении ребра пробегать весь граф выискивая вершины, потерявшие связность. Ты же не предусмотрел альтернативного способа получить ссылку на вершину кроме ребра, ты настаиваешь, что тебе это не надо. Вот оно ребро, удаляется, возможно последний раз ты эту вершину видишь.

Меня поражает твоя упоротость. Ты написал очевидную глупость. Тебе разжевали. Ну казалось бы, то что ты - дурак и так понятно, а так об этом случае уже все забыли. Но нет, будешь до последнего пытаться исправить впечатление, что тебя не так поняли и ты имел в виду не это.

Где, лол. Это твоя позиция все делать исключительно через ту жопу, которую указал твой гуру.

Не через жопу и не гуру. Все нормальные люди моделируют графы массивами. На языках без GC смоделировать граф на указателях - тот ещё геморрой. На массивах графы делали ещё когда rust’а в помине не было. Только ты настолько сумасшедший, что не просто хочешь делать через жопу, но и утверждаешь, что иначе и делать нельзя. И ты так и не написал ни одного довода в пользу того, почему твоя идея лучше, ну кроме «а вдруг мне не понадобятся фишки, которые даёт реализация через массивы».

Если ты бы не был упорытышем, было бы понятно, что претензия к твоему божку в том, что оно делает это одним только методом.

Ну вот, начал сдавать назад. Ещё раз привожу цитату: «Графы. В графы руст тоже не умеет, надо костылить его через вектор?». Опять из контекста выдернули и ты имел в виду что-то иное?

что оно делает это одним только методом. Хочешь ты того, не хочешь, тебя поставили в стойло и говорят - делай вот так и никак иначе.

Понимаю твою боль. Ты, будучи неспособным понять как правильно, видимо очень часто слышишь от начальства «заткнись, и делай как я сказал». И вот теперь и компилятор начинает тобой помыкать, обидно. Это вообще общая тема у растоненавистников, вы воспринимаете ругань борроучекера не как подсказку от помощника «вот тут ты недоглядел», а как критику ревьювера, который докопался до ерунды.

С теми же графами, ты рассматриваешь случаи, когда тебе удобно иметь его целиком в векторе, случаев, когда тебе это граф не всрётся после удаления целой ветки для тебя нет, как и нет проблем

Чувак, графы всегда должны быть целиком. Даже на языке с GC, где нет вот всей этой мутотени с освобождением. Просто тупо понадобится тебе в отладчике посмотреть что не так с вершинам, выбывшими из графа. Да и нет никакой проблемы в расте сделать граф через жопу, как ты хочешь. Можно колхозить на поинтерах в unsafe. Можно в safe, через Rc<RefCell>. Оба варианта убитые, но можно. В ансейф вообще 1 в 1 как C. В варианте с Rc<RefCell> будет почти как ты описал, будешь пихать указатели на потерявшие связность вершины в контейнер, разница только в том, что вместо вызова free в цикле у тебя будет пробег по контейнеру и удаление всех рёбер из каждой вершины(чтоб отцепившиеся подграфы циклическими ссылками утечку памяти не создали) + потом удаление самого контейнера.

Трепач. Речь в том числе о его перестроении, и прочей срани. Выдернул из контекста, назначил себя победителем.

«Прочей срани» не было. Было про разрастание и «рандомное перестроение». Про перестроение я ответил, приведя в пример quicksort. Ну а насчёт разрастания - тебя никто за язык не тянул, сам эту тупость написал.

Исходная версия khrundel, :

А кто сказал, что нужен?

Теория графов. В ней такие графы рассматриваются. Ну т.е. тот же список является частным случаем графа, у которого не более 2х рёбер у вершины и нет циклов, однако никакой идиот не предложит моделировать граф списком потому что "а кто сказал что нужно больше рёбер? Но ты со своим говнорешением продолжаешь настаивать, что оно вполне пригодно, потому что «а вдруг прокатит».

Раз он не нужен, обошел, составил список нод, сделал free.

В этом решении прекрасно всё.

Во-первых, ты, фактически, признал, что без дополнительного контейнера для вершин ты не можешь никак. Только вместо того чтоб всегда иметь его под рукой ты будешь создавать его каждый раз.

Во-вторых, ты предлагаешь при каждом удалении ребра пробегать весь граф выискивая вершины, потерявшие связность. Ты же не предусмотрел альтернативного способа получить ссылку на вершину кроме ребра, ты настаиваешь, что тебе это не надо. Вот оно ребро, удаляется, возможно последний раз ты эту вершину видишь.

Меня поражает твоя упоротость. Ты написал очевидную глупость. Тебе разжевали. Ну казалось бы, то что ты - дурак и так понятно, а так об этом случае уже все забыли. Но нет, будешь до последнего пытаться исправить впечатление, что тебя не так поняли и ты имел в виду не это.

Где, лол. Это твоя позиция все делать исключительно через ту жопу, которую указал твой гуру.

Не через жопу и не гуру. Все нормальные люди моделируют графы массивами. На языках без GC смоделировать граф на указателях - тот ещё геморрой. На массивах графы делали ещё когда rust’а в помине не было. Только ты настолько сумасшедший, что не просто хочешь делать через жопу, но и утверждаешь, что иначе и делать нельзя. И ты так и не написал ни одного довода в пользу того, почему твоя идея лучше, ну кроме «а вдруг мне не понадобятся фишки, которые даёт реализация через массивы».

Если ты бы не был упорытышем, было бы понятно, что претензия к твоему божку в том, что оно делает это одним только методом.

Ну вот, начал сдавать назад. Ещё раз привожу цитату: «Графы. В графы руст тоже не умеет, надо костылить его через вектор?». Опять из контекста выдернули и ты имел в виду что-то иное?

что оно делает это одним только методом. Хочешь ты того, не хочешь, тебя поставили в стойло и говорят - делай вот так и никак иначе.

Понимаю твою боль. Ты, будучи неспособным понять как правильно, видимо очень часто слышишь от начальства «заткнись, и делай как я сказал». И вот теперь и компилятор начинает тобой помыкать, обидно. Это вообще общая тема у растоненавистников, вы воспринимаете ругань борроучекера не как подсказку от помощника «вот тут ты недоглядел», а как критику ревьювера, который докопался до ерунды.

С теми же графами, ты рассматриваешь случаи, когда тебе удобно иметь его целиком в векторе, случаев, когда тебе это граф не всрётся после удаления целой ветки для тебя нет, как и нет проблем

Чувак, графы всегда должны быть целиком. Даже на языке с GC, где вот всей этой мутотени с освобождением. Просто тупо понадобится тебе в отладчике посмотреть что не так с вершинам, выбывшими из графа. Да и нет никакой проблемы в расте сделать граф через жопу, как ты хочешь. Можно колхозить на поинтерах в unsafe. Можно в safe, через Rc<RefCell>. Оба варианта убитые, но можно. В ансейф вообще 1 в 1 как C. В варианте с Rc<RefCell> будет почти как ты описал, будешь пихать указатели на потерявшие связность вершины в контейнер, разница только в том, что вместо вызова free в цикле у тебя будет пробег по контейнеру и удаление всех рёбер из каждой вершины(чтоб отцепившиеся подграфы циклическими ссылками утечку памяти не создали) + потом удаление самого контейнера.

Трепач. Речь в том числе о его перестроении, и прочей срани. Выдернул из контекста, назначил себя победителем.

«Прочей срани» не было. Было про разрастание и «рандомное перестроение». Про перестроение я ответил, приведя в пример quicksort. Ну а насчёт разрастания - тебя никто за язык не тянул, сам эту тупость написал.