Dmitry
во
Маjко
https://doc.rust-lang.org/1.12.1/std/collections/struct.VecDeque.html
Это ж memmove на каждый pop_front Фуфуфу
Dmitry
remove(0)
Маjко
а remove() ?
Тоже. Вектор -- непрерывная память
Cuno
Это ж memmove на каждый pop_front Фуфуфу
https://doc.rust-lang.org/1.12.1/src/collections/up/src/libcollections/vec_deque.rs.html#1081 Где?
Cat
так а почему не linked list?
Dmitry
трудно. Я не понимать D
Dmitry
так а почему не linked list?
хз. Ну линкед лист еще собрать нужно. НУ можно попробовать
Dmitry
как сложно заджоинить. Ну капец. что не так D
Маjко
Cat
Cuno
А, он смещает указатель Умно
Было бы странно, если бы операция "достать элемент из очереди" была бы О(n)
Маjко
а как ?
Эм, печатей в цикле, вставляй запятые там где надо)
Dmitry
а я не вижу pop_front. Это откуда
Маjко
Джойнятся строки
Dmitry
Джойнятся строки
массив в строку везде есть
Dmitry
Эм, печатей в цикле, вставляй запятые там где надо)
т.е брать вектор ? Или пока вектор, а потом лист ?
Маjко
массив в строку везде есть
Массив слайсов строк да
Маjко
Вообще странно что нет с char
Cuno
Нет, не так.
*зависит от параметров шаблона, на самом деле
Маjко
Я дома буду чекну
Dmitry
пока так
Cat
generate*
Dmitry
убедил
Маjко
пока так
А вот ремув как раз меммувнет наверное @d34d10cc
Маjко
В векторе
Cuno
ну там то других вариантов нет
Dmitry
VecDeque что то не могу прикрутить. map и тд Vec возвращает
Cat
Нет, не так.
проверил; забавно, не знал; не знаю, почему так сделали
Cuno
VecDeque что то не могу прикрутить. map и тд Vec возвращает
map итератор возвращает. Vec тебе collect возвращает
Маjко
ну там то других вариантов нет
Ну мб оптимизация для 0. Хотя не помню чтобы он 2 указателя хранил
Маjко
Во всех растоконтейнерах можно
Cat
в любую коллекцию должно быть можно
Cuno
iterator в VecDec можно ?
collect::<VecDeque<char>>()
Dmitry
а. я так и сделал. Просто типы не везде заменил
Dmitry
уу. Общими усилиями есть
Cat
а. я так и сделал. Просто типы не везде заменил
тип у data можно не писать, всё равно нет перегрузки функций
Cat
впрочем, зависит от (личного) кодестайла
Αλεχ
А при чем тут pop
Αλεχ
я бы как-то так делал
Αλεχ
fn get_map(n: usize) -> Result<Array2<Option<char>>, &'static str>{ if n <= 0 || n > 27 { return Err("Invalid input"); } let board_size = 2*n-1; let mut result = Array2::<char>::default((board_size, board_size)); for i in 0..board_size / 2 { for j in 0..board_size/2 { result[[i,j]] = result[[board_size - i - 1, j]] = result[[i, board_size - j - 1]] = result[[board_size - i - 1, board_size - j - 1]] = ... } } Ok(result) }
Cat
кажется стало менее читаемо
Αλεχ
вышел
Αλεχ
Dmitry
1/4 ю часть делаю
Dmitry
только еще заджоинить нужно + добавить тире вместо остальных букв
Αλεχ
уу. Общими усилиями есть
у тебя ж не то вроде
Αλεχ
а я понял что вы делаете
Dmitry
то
Αλεχ
ща
Dmitry
во
вот
Dmitry
я так понял тчо бы нормально джоин сделать нужно реализовать SliceConcatExt ?
Cat
а разве не FromIterator::collect?
Dmitry
хз
Dmitry
https://doc.rust-lang.org/1.17.0/std/slice/trait.SliceConcatExt.html
Cat
хз
тебе не это нужно chars_vec.map(|c| ...).collect::<String>() ?
Dmitry
это что
Cat
джоин из чаров в стринг
Cat
https://doc.rust-lang.org/1.17.0/std/slice/trait.SliceConcatExt.html
это по слайсу, у тебя же не слайс, а VecDeque
Cat
ну а если реализовать
https://doc.rust-lang.org/stable/std/iter/trait.Iterator.html#method.collect
Cat
B должен реализовывать FromIterator<Self::Item>
Dmitry
сложно
Cat
я перестал понимат, что тебе нужно
Dmitry
я тоже
Cat
я тоже
ты хочешь заджойнить вектор с char в строку?
Dmitry
ну по идее