1. C++ / Говнокод #7975

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    temp = new LIST;
    temp = ptr->next;
    ptr->next = ptr;
    ptr = temp;

    Так меняют указатели местами при сортировке списка.

    Запостил: brainfucker, 25 Сентября 2011

    Комментарии (17) RSS

    • Готовые алгоритмы не освоить?
      Ответить
      • Это код знакомого, который спросил что не так в коде.
        Ответить
      • На обучении хоть 1 раз все-таки нужно самому реализовать односвязный, двусвязный списки, дерево.
        Для того, что не на все случаи жизни найдется готовый алгоритм - иногда (пусть редко) самому думать приходится.
        А то получается: мало-мальски нестандартная задача вызывает ступор, вместо того чтобы подумать и решить ее.
        Ответить
    • Юзай atomic_xor для обмена без лишних переменных)))
      Ответить
    • temp = new LIST;
      temp = ptr->next;
      /* ... */


      LIST - злобный макрос, что находит всю "утёкшую" память ?)
      Ответить
      • Он хотел сказать ЛИСП, а в лиспе есть уборщик мусора.
        Ответить
        • >уборщик мусора
          Чисто не там где убирают, а там где дворник с ружьём.(с)
          Ответить
    • Если ptr - ссылка на указатель, то может даже сработать (не считая утечки)...
      Ответить
    • //слева
      temp = new LIST;
      temp->next=ptr;
      ptr=temp;
      //или справа
      temp = new LIST;
      ptr->next=temp;
      ptr=temp;
      Ответить

    Добавить комментарий