Собеседование C++. Разработчик из Яндекс

Поділитися
Вставка
  • Опубліковано 28 лис 2024

КОМЕНТАРІ • 109

  • @СъелКартошку
    @СъелКартошку Рік тому +22

    0:28 - Фарит рассказывает о себе
    1:31 - задача: развернуть односвязный список
    16:48 - задача: найти уникальный элемент
    24:47 - опыт работы в Яндексе
    27:01 - статические и динамические библиотеки
    30:44 - constexpr
    35:22 - метапрограммирование
    38:52 - static_assert
    41:10 - бесконечная рекурсия
    42:38 - работа с потоками
    51:12 - фидбек

  • @vasiliypupkin6311
    @vasiliypupkin6311 Рік тому +44

    Надо было ему дать задачу из контеста, где условие на лист а4, как Яндекс даёт на стажировку.

  • @Евгений-ч5д5в
    @Евгений-ч5д5в Рік тому +13

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

  • @Pa36ouHuK
    @Pa36ouHuK Рік тому +6

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

  • @alex-peretz
    @alex-peretz Рік тому +10

    решение задачи про парные элементы, это очень красиво - прям кайфанул❤

    • @HelloWorld-fy8cd
      @HelloWorld-fy8cd Рік тому +2

      жаль что парных элементов должно быть четное число, а иначе не прокатит

  • @dmanikhine
    @dmanikhine 8 місяців тому +2

    Классическое решение reverseList и к нему функция печати List, всё это есть в первой главе SICP. На Lisp или Scala это пишется гораздо проще. :
    ListNode* reverselist(ListNode* list){
    auto aux=[](ListNode* curNode, ListNode* prevNode, auto& aux_ref)
    {
    if (curNode->next==nullptr) {
    curNode->next=prevNode;
    return curNode;
    }
    ListNode* nextNode=curNode->next;
    curNode->next=prevNode;
    return aux_ref(nextNode, curNode, aux_ref);
    };
    return aux(list,nullptr,aux);
    }
    void printList(ListNode* list){
    if (list->next==nullptr) {
    std::cout

  • @АндрейГомон-й7м
    @АндрейГомон-й7м Рік тому +54

    Божественный Яндекс. Годами не могут пофиксить хваленый Ямаркет и музыку, в маркете - RecycleView падает в exeption, Fragments не сохраняют данные при переключении в Activity. В музыке песни не переключаются. Видимо Listener отвалился. Или играет одна и та же песня. какую бы не включил, видимо Map поплыла с ключами. И все бы ничего, но на собеседовании ты должен быть БОГОМ, решать УМНЫЕ ЛОГИЧСКИЕ ЗАДАЧКИ и вообще знать наизусть как и что устроено внутри STD. У меня всё.

    • @nullptr_or_null8301
      @nullptr_or_null8301 Рік тому +12

      Проблема в том что многие не понимают по каким принципам работают такие крупные компании независимо от названия и страны (также работает и Apple, Google, Amazon и т.д.), и ломятся туда толпами, думая что это же яндекс там мне заплатят много денег, прокачаюсь в знаниях, опыте и т.д., нет это не так работает во главу угла там ставятся деньги, то есть нужен работник пускай криво косо, но будет справляться со своими обязанностями, но платить ему придется минимум на 50% ниже чем по рынку, на качество продукта такой крупной компании насрать, они уже монополист и альтернатив или нет, или конкуренты могут отнять несущественную долю рынку, отсюда в таких крупных компаниях работают в основном люди в лучшем случае середнячки, а то и новички, как только новичок (или глупый середнячок) под обещания повышения поработает в такой компании 1-3 года, обычно такой срок проходит когда до людей доходит что никто не собирается повышать, они сваливают оттуда через этот срок или их просят на выход, если начнут возникать почему не повышают, не платят больше и т.д., потом набираются следующие дурачки клюющие на бренд, и так продолжается до бесконечности, потому что народа немерянно хотящего работать в таких брендовых крупных компаниях, отсюда и кривое качество продуктов.

    • @maksimgorohov504
      @maksimgorohov504 Рік тому +7

      @@nullptr_or_null8301 но каким образом ваш рассказ вяжется с жестким отбором людей в эти компании

    • @nullptr_or_null8301
      @nullptr_or_null8301 Рік тому

      @@maksimgorohov504 "но каким образом ваш рассказ вяжется с жестким отбором людей в эти компании" - суть в том что отбираются лучшие прошедшие жесткий отбор, но с оплатой ниже рынка и обещаниями что в будущем эту оплату повысят (естественно никто и не собирается повышать), разводка на дурачка который на это поведется, то есть условно если бы так человек пошел бы в не брендовую компанию ему заплатили больше, потому что не стоит очередь из желающих в такую, а в брендовую стоит очередь, ведь большинство, как рассуждает, что если крупная компания то зп у них будет выше рынка, только вот в чем загвоздка выше рынка в таких компаниях только у приблатненных, а у того кого наймут с улицы будет зп ниже рынка, и тянуть он будет к тому же работу и за себя и за приблатненных, причем этот человек вполне может заменить отдел этих приблатненных в одиночку (знаю такой пример), вот так это работает, суть в том что в крупных брендовых компаниях знаний опыта зачастую для обычного человека требуют столько что в других не брендовых, более мелких, он раза в 2 больше будет получать за те же самые знания и опыт, рассуждать правильно надо вставая на место руководства таких компаний, и рассуждения там просты донельзя хочу чтобы работник был гений и за копейки, в крупных это осуществимо, потому что есть очередь из желающих дурачков (до людей выше написал это доходит через 1-3 года и разводка в основном на джунов и слабеньких мидлов), в средне-мелких такого нет, потому что такой очередь там нет, надеюсь теперь понятно, если нет, то уже не знаю как объяснять.
      P.S. Причем для заманухи естественно в вакансии и пишут зп якобы по рынку или выше, а уже на собесе естественно озвучивается другая сумма существенно ниже рынка и тут либо человек соглашается (ведется) или на выход.

    • @maksimgorohov504
      @maksimgorohov504 Рік тому +1

      @@nullptr_or_null8301 "в том что отбираются лучшие прошедшие жесткий отбор" тогда почему у них так плохо написаны приложения, о чем говорил Андрей выше

    • @nullptr_or_null8301
      @nullptr_or_null8301 Рік тому

      @@maksimgorohov504 Аааа, джун или слабый мидл, не может априори писать код, выстраивать архитектуру и т.д. как это делают крепкие мидлы и уж тем более сеньоры, потому что последние (мидлы и сеньоры) знают различные варианты решения одной и той же задачи, а также плюсы и минусы этих решений, и знают где и как применять эти решения, начинающий джун (даже если он гений), слабый мидл этого всего не знают им не хватает знаний и опыта, даже если они мега талантливые пройдет 1-3 года как раз чтобы из них вышел хотя бы мидл и то если они будут развиваться на разных типах и сложностях задач (в таких крупных компаниях обычно такого не дают особо) отсюда так как выше писал смена таких работников обычно происходит раз в 1-3 года и отсюда получаются плохо написанные приложения (потому как новый приходящий городит свой велосипед на другие велосипеды, которые писали до него такие же как он новички), а крупной компании на это пох, потому что они монополист и они могут класть большой и толстый на рядовых пользователей, потому как они уже в основном уже аффилированы тесно с государством и основные деньги пилят с госзаказов и госраспилов (суммы там вам и не снились) плять объяснять это долго, я бы дал ссылку на видео где человек в теме все это разжевывает (я и без него это знаю, потому как сам наблюдал это со стороны работая инженером в одной можно сказать госконторе).

  • @0xsadcat92
    @0xsadcat92 Рік тому +1

    constexpr функция при передаче в cout:
    std::cout

  • @nikitaminakov42
    @nikitaminakov42 Рік тому +3

    C XORом очень круто, действительно все гениальное просто.

  • @nmg_prm
    @nmg_prm Рік тому

    Спасибо за интервью, с каждым видео все интереснее!

  • @VladimirKirienko
    @VladimirKirienko Рік тому +4

    Спасибо за отличный контент и вашу работу. Есть ли в планах сделать тестовый собес на уровень Senior C++?

    • @ambushedraccoon6408
      @ambushedraccoon6408  Рік тому +3

      И Вам спасибо! Да, сегодня записали. Посмотрим как видео себя покажет.

  • @bequiet141
    @bequiet141 Рік тому +11

    Битовые операции - вынос мозга, но решение мощное. Впечатляющий кейс

    • @shadowfiend8794
      @shadowfiend8794 Рік тому +7

      что там выносящего? Дефолтная опреация в компьютере. Почти все зануления компилятор как раз с помощью xor делает.

  • @vp_arth
    @vp_arth 9 місяців тому

    Во второй задаче решение очевидно, но я бы задал вопрос: найти элемент - это индекс в векторе или достаточно значения?

  • @mormeoi
    @mormeoi 9 місяців тому +2

    Как все переусложнено в первой задаче. Надо хранить cur и prev, prev сначала равен nullptr, тогда не нужна будет проверка на "краевые условия" да и сам цикл будет более естественный. Возвращать надо будет prev.

    • @sugma1142
      @sugma1142 6 місяців тому

      а это разве не будет занимать дополнительно память?

    • @mormeoi
      @mormeoi 6 місяців тому +1

      @@sugma1142 Нет. Будут те же самые 2 переменные, просто строчек кода будет меньше.

  • @noname_2108
    @noname_2108 2 місяці тому

    это реально требования к мидлу на плюсах?

  • @АндрейСуханов-и3г

    Здравствуйте! Интересное интервью, благодарю! Данное собеседование на позицию middle, верно?

  • @Саша-п2л1щ
    @Саша-п2л1щ Рік тому +1

    Видео вышло. Так что теперь ждем стрим

  • @robban3465
    @robban3465 Рік тому +2

    Лайк однозначно

    • @faritavtakhov5115
      @faritavtakhov5115 Рік тому

      как нашел

    • @robban3465
      @robban3465 Рік тому

      @@faritavtakhov5115 давно подписан, и смотрел некоторые видосы

  • @АндрейСуханов-и3г

    И ещё один вопрос. На какую позицию must have паттерны проектирования?

    • @ambushedraccoon6408
      @ambushedraccoon6408  Рік тому +3

      После года опыта, если не набираетесь на работе то рекомендую начать с Солида, а потом плавно перейти на паттерны.
      Это важно просто для того, чтобы расти как специалист, не только для собеседований.

    • @arthurlouiskarl
      @arthurlouiskarl Рік тому

      полотёр

  • @skynowa2626
    @skynowa2626 Рік тому

    Т.е. constexpr - это не гарантия вычисления на этапе компиляции?

    • @ambushedraccoon6408
      @ambushedraccoon6408  Рік тому +3

      Нет. Правильнее сказать, что оно может вычислиться на этапе компиляции, но не факт.
      Как я и приводил пример в одном случае считалось на этапе компиляции, в другом - в рантайме.
      Рекомендую почитать стандарт en.cppreference.com/w/cpp/language/constexpr
      и закрепить на практике.

  • @usergnusmas6879
    @usergnusmas6879 4 місяці тому +1

    Яндекс отбирает отличных разработчиков)

  • @wolfwood1010
    @wolfwood1010 Рік тому +4

    Про бинарки это задачка на закопать за почти 15 лет практики приходилось использовать раза 2

    • @shadowfiend8794
      @shadowfiend8794 Рік тому +2

      Не понятно почему он их бинарные назвал конечно, если это битовые. От специфики работы зависит я вот очень много сталкивался когда работал с bunch сериализацией в UE

    • @wolfwood1010
      @wolfwood1010 Рік тому

      @@shadowfiend8794 все правильно назвал xor это бинарный оператор он на вход принимает 2 значения а возвращает 1

    • @shadowfiend8794
      @shadowfiend8794 Рік тому +1

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

    • @ambushedraccoon6408
      @ambushedraccoon6408  Рік тому +1

      Да, я допустил ошибку. Но собеседуемый так или иначе все понял.

  • @Mez0ry1337
    @Mez0ry1337 Рік тому +1

    Хочу чтобы начали появляться код ревью)) на канале

    • @ambushedraccoon6408
      @ambushedraccoon6408  Рік тому +1

      Чуть подробнее, пожалуйста. Как вы думаете это должно выглядеть?

    • @strongful7120
      @strongful7120 Рік тому

      @@ambushedraccoon6408 Что-то по типу такого было бы очень полезно, такого нет по С++ на русском ютубе
      ua-cam.com/video/mOSirVeP5lo/v-deo.html

  • @NoNo-fl6oq
    @NoNo-fl6oq Рік тому

    привет! подскажите, что нужно знать для первой джуниорской работы с++ программистом не в геймдев? что кроме самого язык нужно?

    • @МаксимГусько
      @МаксимГусько Рік тому +3

      Тут на самом деле очень всё сложно и все требуют разное. Но основное что могу порекомендовать это естественно понимание и знания Git и работа с GitHub(или другие). Стоит изучить Cmake и Conan (или их альтернативы). С их помочью собирать программы и подключать сторонние библиотеки. Стоит после этого начать знакомство с boost. Для начала например парсинг аргументов с помощью boost. Стоит подключить библиотеки для БД и немного их потыкать, полезно немного знать SQL. Если интересно то потыкать QT. Работа с Linux и хоть пару уроков связанных с GDB.

    • @РамильМустафаев-я4к
      @РамильМустафаев-я4к 6 місяців тому

      @@МаксимГуськоуже изучил по твоим наставлениям GIT и GITLAB. Дальше буду cmake смотреть параллельно на с++ документацию читаю и доучиваю Stl. Спасибо

    • @xoggas
      @xoggas 2 місяці тому

      Открой любую вакансию на HeadHunter и посмотри, что требуют разные компании. Выбери ту, которая тебе понравилась и учи то, что им нужно )

  • @ЮраКубинець
    @ЮраКубинець Рік тому +2

    крутые обои

  • @janedoe6182
    @janedoe6182 Рік тому

    Решение первой задачи:
    ListNode* reverse (ListNode* head) {
    ListNode* prev = nullptr;
    while(head->next) {
    ListNode* next = head->next;
    head->next = prev;
    prev = head;
    head = next;
    }
    head->next = prev;
    return head;
    }

    • @IExSet
      @IExSet Рік тому

      Тоже зациклится на циклическом списке. У сишников с такими структурами бяда 🙂

    • @janedoe6182
      @janedoe6182 Рік тому +3

      @@IExSet Почему это беда? В условиях задачи не было упоминания цикличности. И там одной проверки всего достаточно, чтобы ее обойти. Нет никакой беды

  • @aleksanderaksenov1363
    @aleksanderaksenov1363 Рік тому +2

    У меня вопрос-а разработчик ничего кроме синтаксиса и типовых задач литкода знать не должен?))

  • @dinrash7613
    @dinrash7613 10 місяців тому

    Решение 1 Задачи, используя рекурсию, которая не возможна по мнению автора:
    #include
    struct ListNode
    {
    int val;
    ListNode* next;
    ListNode(int x): val(x){}
    ListNode(int x, ListNode* next): val(x), next(next){}
    };
    ListNode* RevertList(ListNode* head, bool first = true){
    if(head == nullptr || head->next == nullptr){
    return head;
    }
    else{
    ListNode* result = RevertList(head->next, false);
    head->next->next = head;
    if(first){
    head->next = nullptr;
    }
    return result;
    }
    }
    int main() {
    ListNode* prev = nullptr;
    for(int x = 0; x

    • @ambushedraccoon6408
      @ambushedraccoon6408  10 місяців тому

      Упадет при
      RevertList(nullptr, true);

    • @dinrash7613
      @dinrash7613 10 місяців тому

      @@ambushedraccoon6408 Updated

  • @pavel_trpn
    @pavel_trpn Рік тому +1

    32:40 - собеседующий не слышал про consteval???

    • @sakost
      @sakost Рік тому

      с C++20 ещё не все знакомы и работали

    • @pavel_trpn
      @pavel_trpn Рік тому +1

      @@sakost в 23-м году? А драфт ещё раньше был известен. Вся суть C++ разработки)

  • @Tanyaslanzi_official
    @Tanyaslanzi_official 2 місяці тому

    Мое разворачивание списка: ListNode* RevertList(ListNode* head)
    {
    if (!head || !head->next)
    {
    return head;
    }
    ListNode* tail{ head };
    ListNode* prev{ head};
    ListNode* current{ nullptr };
    ListNode* next{ nullptr };
    if (prev)
    {
    current = prev->next;
    prev->next = nullptr;
    }
    if (current)
    {
    next = current->next;
    }
    do
    {
    tail = current;
    //2 -> 1
    current->next = prev;
    prev = current;
    current = next;
    next = current ? current->next : nullptr;
    }
    while (current);
    return tail;
    }

  • @prank_ttime
    @prank_ttime 7 місяців тому

    в перуом можно было типо стека все сделать и все.

  • @alex-peretz
    @alex-peretz Рік тому +2

    Решение на 14:13 тоже работало

  • @МаркіянЛещишин-з1ф

    Is it real 24:14 , return integer in void function ???

    • @ambushedraccoon6408
      @ambushedraccoon6408  Рік тому

      it's just a mistake. It happens. In such case scenario we don't have a compiler to show us obvious errors.

    • @ambushedraccoon6408
      @ambushedraccoon6408  Рік тому

      And generally speaking, it's acceptable to make such mistakes in most interviews.

  • @IExSet
    @IExSet Рік тому

    Вот что значит не уважать Лисп, сей алгоритм зациклится на циклическом списке, у которого последний элемент ссылается на первый!!!

  • @dethomorphin
    @dethomorphin Рік тому +1

    Зачем задаешь вопросы, на которые сам не знаешь ответ?) Про статические библиотеки например

    • @ambushedraccoon6408
      @ambushedraccoon6408  Рік тому

      Задаю, потому что знаю. И в принципе я могу просто задать вопрос, чтобы послушать рассуждения интервьюера на данную тему.

    • @dethomorphin
      @dethomorphin Рік тому

      @@ambushedraccoon6408статическая библиотека это не исполняемый файл, и динамическая тоже. Разница в какой момент символы будут разрешены: при компоновке либо при исполнении

  • @pandalove6795
    @pandalove6795 Рік тому

    Боже, решение с ксором в задаче о нахождение уникального элемента, просто шикарно. Я кстати когда думал сам над решением, пришел к использованию битовых операций, но только с целью хранения информации о том, что элемент уже есть. (1 есть, 0 нет). Но вот до использования ксора не додумался.

  • @ТимурСаляхов-е6е

    Насчёт RevertList что то сомнения закрались.. Хоть я инженер, не программист не судите строго.. А на стеке хватит памяти если список очень большой.. Если 10 миллионов? Я думал надо что то типа выделяем памяти с запасом, проходимся до конца, записывая всë в массив в этой памяти.. По мере надобности выделяем ещё.. А дойдя до конца, проходимся обратно.. Ну и память удаляем

    • @ТимурСаляхов-е6е
      @ТимурСаляхов-е6е Рік тому

      И почему это всё не андефайнд бихевиор? Мы возвращаем указатель на то, что создали на стеке? Если ошибаюсь расскажите пожалуйста в чем.

    • @damirsob6176
      @damirsob6176 Рік тому

      В решении, на стеке хранятся только 3 указателя(cur, prev, temp), независимо от размера списка. А значит, stackoverflow не будет.

    • @damirsob6176
      @damirsob6176 Рік тому

      @@ТимурСаляхов-е6е нет, возвращается копия указателя prev, который указывает на первый узел реверснутого списка.

    • @ТимурСаляхов-е6е
      @ТимурСаляхов-е6е Рік тому

      Спасибо. Буду разбираться

  • @sakost
    @sakost Рік тому +2

    есть два типа людей:
    0. Которые хейтят яндекс
    1. Те, которые в нем работают
    Я скоро переметнусь из одной касты в другую, пхехе.

  • @broken_beyond_belief
    @broken_beyond_belief Рік тому

    Коммент для продвижения

  • @raijinhasarrived
    @raijinhasarrived Рік тому +5

    10:12 интервьюер, ты ойкаешь, вздыхаешь, сбиваешь своими вставками с мысли, задал вопрос подожди пока решит задачу и потом покажи какой ты nevyebeniy. Нахера ты лезешь, отбил всё желание смотреть

  • @АртемБатьков-м6ю

    ну такое, 80% вопросов не релевантны на позицию middle, и в реальных проектах о них вспомнят в последний момент, особенно по constexpr и проверка статического результата. Не реалистичная бредятина

  • @ЕвгенийГригорьев-ш9ц

    А это точно разработчик из Яндыкса? Есть большие на эту тему сомнения. Обычно яндекс проводит 3-4 технических собеса
    на алгоритмы и знание языка. Мне кажется на собесе был самозванец :)
    Теперь к автору видоса. Автор!, а похоже ты и сам не понимаешь (судя по твоему ответу) разницы между динамическими
    и статическими библиотеками - подучи-ка, дружок, мат-часть а уже потом вопросы задавай.

    • @faritavtakhov5115
      @faritavtakhov5115 Рік тому +1

      Я алгоритмы хорошо знаю

    • @faritavtakhov5115
      @faritavtakhov5115 Рік тому

      Поошибался, бывает, че за духота

    • @sakost
      @sakost Рік тому

      ​@@faritavtakhov5115а ты на какой позиции? Junior? Middle? Просто если junior, то все наезды в комментариях абсолютно нерелевантны.
      В любом случае ты большой молодец)

  • @yashkevich8164
    @yashkevich8164 Рік тому +1

    Совершенно бесполезная первая часть собеса с решениями задач. Так как проверяется тупо навык задрачивания решения задач на ЛитКод и тому подобных, которые в реальной разработке редко когда понадобятся. Я бы уже после это части распрощался с таким работодателем

    • @sakost
      @sakost Рік тому +1

      ну вообще нет. будь там задача уровня hard с литкода, то да. А это medium с натяжкой. Тут проверяется возможность кандидата мыслить логически. И во многих компаниях(если не во всех. Я прошел больше 50 собесов и только 1-2 раза встречал, когда таких вопросов не было) такое применяют постоянно

    • @mitjagagin
      @mitjagagin 9 місяців тому

      Более 50 прошёл, задачи на логику, меня терзают смутные сомнения... А ты вообще дееспособен писать каменты😂

  • @MrIbah42
    @MrIbah42 6 місяців тому

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

    • @ambushedraccoon6408
      @ambushedraccoon6408  5 місяців тому

      Без этой "хрени" не обойдется ни одно собеседование в крупную с большим количеством разных проектов компанию. Это нечто вроде общего теста, чтобы понимать потенциальные возможности кандидата без привязки к конкретным технологиям.
      То, что Вам это не нравится, не причина пренебрегать таким важным аспектом подготовки.

    • @MrIbah42
      @MrIbah42 5 місяців тому

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

  • @eewwwqqwee
    @eewwwqqwee 9 місяців тому

    Был бы рад вашей оценки моей жалкой попытки. еще только учусь. Тоже первое что пришло в голову это рекурсивная функция, реализовал так - using namespace std;
    struct ListNode {
    int value;
    ListNode* next;
    ListNode() : value(0), next(nullptr) {}
    ListNode(int x) : value(x), next(nullptr) {}
    ListNode(int x, ListNode* next) : value(x), next(next) {}
    };
    void ReverseList(ListNode *header, ListNode* &finalHeader) {
    if ((*header).next != nullptr) {
    if ((*header).next->next != nullptr) {
    ListNode* buffer = (*header).next->next;
    (*header).next->next = header;
    ListNode* bufferForNext = buffer->next;
    buffer->next = (*header).next;
    (*header).next = nullptr;
    ReverseList(bufferForNext,finalHeader);
    bufferForNext->next = buffer;
    }
    else {
    (*header).next->next = header;
    finalHeader = header->next;
    }
    }
    }
    int main() {
    ListNode a1(1);
    ListNode a2(2);
    a1.next = &a2;
    ListNode a3(3);
    a2.next = &a3;
    ListNode a4(4);
    a3.next = &a4;
    ListNode a5(5);
    a4.next = &a5;
    ListNode a6(6);
    a5.next = &a6;
    ListNode a7(7);
    a6.next = &a7;
    ListNode a8(8);
    a7.next = &a8;
    ListNode* finalHeader = nullptr;
    ReverseList(&a1, finalHeader);
    };
    вершина перевернутого листа находится в указателе finalHeader

    • @eewwwqqwee
      @eewwwqqwee 9 місяців тому

      p.s. первая задача

  • @sashabroslavskiy7904
    @sashabroslavskiy7904 Рік тому +1

    Это пи.здец какой-то))
    какой-то там симэйк)) абалдеть просто. в яндексе кто вообще работает?)
    статика и шарэд либа это же очевидная вещь. какой кошмар