Alex
на failure
А оно лучше error-chain?
Alex
Я бинарик пишу, не либу. Мне можно по человечески.
Денис
ну, оно удобней точно
Денис
для бинарей так ваще
Cat
А как трушные пацаны пишут?
// 0 - equal, <0 - less. >0 - greater fn cmp(...) -> isize { ... }
Cat
олдфаги оценят
Alex
У меня так сортировка в пхп работала
Alex
Я кстати не умею даже пузырьковую сортировку писать, я лох да?
Судзумия
Да
Денис
)))
Денис
да ты кстати поди умеешь
Денис
если тебе пристолет к виску приставить и сказать "пиши сука", то ты скорее всего именно её и сделаешь
Alex
Да
Cat
хз, мне кажется вставками или выбором проще по смыслу
Alex
хз, мне кажется вставками или выбором проще по смыслу
Сложна сложна, можно написать this_should_work()?
Cat
Сложна сложна, можно написать this_should_work()?
только если сигнатура предполагает возвращение Result
Cat
иначе compilation error
Alex
Это был вопрос
Cat
аа
Alex
Совсем мозги с растом едут хихи
Cat
тогда не знаю, ненавижу собеседования и вопросы с них
Денис
просто не надо в яндекс собеседоваться, и всё будет нормально
Денис
меня только там спрашивали эти вещи
Денис
на вакансию сеньор сиплюсплюс девелопер
Денис
просто лолшто
Денис
и я не хочу работать с людьми, которые держат в памяти алгоритмы сортировки и вот это вот всё
Alex
Но надо в голове карту алгоритмов держать
Cat
ладно, я, к сожалению, не сеньёр c++, так что видимо таких опросов не избежать даже не идя в яндекс
Денис
Alex
Я тут на расте софтинку начал писать консольную, и раст перестал быть странным и непонятным
Alex
А, ну еще начал понимать структуры в памяти когда бинарный формат разбирал
Alex
Все несложно короч
Cat
Все несложно короч
разверни односвязный список
Cat
на плюсы собеседуешься?
уже нет, год назад на си собеседовался
Денис
по-моему стандартная схема действий такова, что перед собеседованиями ты садишься и ботаешь алгоритмы, проходишь собеседование и забываешь всё это нахрен
Alex
разверни односвязный список
Односвязный это в одну сторону? Развернуть в массив?
Cat
никогда не понимал, что значит "развернуть односвязный список", но на том собеседовании дошло и заняло 10 минут не вижу смысла в этом задании
Судзумия
Односвязный это в одну сторону? Развернуть в массив?
ондосвязный, это который не массив, а ссылками на следующий элемент
Alex
А двусвязный?
Alex
Я не сказал что массив
Судзумия
ссылками в обе стороны
Судзумия
двусвязный итак развёрнут
Cat
Односвязный это в одну сторону? Развернуть в массив?
развернуть в плане: есть a -> b -> c надо c -> b -> a
Alex
Ну так я и говорил что по сути однонаправленный граф
Денис
плоский правда, но граф)))
Денис
точнее даже не плоский, а линейный)
Cat
Ну надо подумать
(Спойлер: на расте это делать неудобно)
Alex
плоский правда, но граф)))
Я не шарю, просто умные слова вбрасываю
Cat
точнее даже не плоский, а линейный)
граф, который называется список?
Денис
=)))) да)
Alex
(Спойлер: на расте это делать неудобно)
unsafe спасёт отца русской демократии
Cat
unsafe спасёт отца русской демократии
хотя вру, через box наверное будет достаточно просто
Alex
Там вроде свапать можно тот же rc
Судзумия
через бох всё будет просто, но не будет быстро
Cat
ну а в си бы было malloc
Cat
box сильно медленнее?
պլհկ
В си списки и на стеке можно
Cat
м, кстати да
Cat
я почему-то всегда пытаюсь обобщить до дерева
Денис
а как можно сделать линкд-лист без box/rc для не-clone типов?
Денис
struct Node<T> { value: T, next: Option<Rc<Node<T>>>, }
Денис
Option<Node<T>> не прокатит
Судзумия
а как можно сделать линкд-лист без box/rc для не-clone типов?
Конечно, это же однонаправленный список, рекурсии нет
Судзумия
Можно просто borrowами
Денис
просто боровами..
Судзумия
Ору
Cat
struct Node<'a, T: 'a> { value: T, next: &'a Option<Node<'a, T>>, } fn main() { let b = Node { value: 5, next: &None }; let a = Node { value: 4, next: &Some(b) }; }
Судзумия
Именно
Денис
тока наверное всё-таки Option<&'a Node<'a, T>>? :)
Cat
возможно