Size: a a a

2021 February 19

CK

Charlotte Karlos in supapro.cxx
Александр Караев
покажи, как ты свой массив создаёшь
С помощью new
источник

АК

Александр Караев... in supapro.cxx
Charlotte Karlos
С помощью new
не вижу код
источник

CD

Constantine Drozdov in supapro.cxx
Charlotte Karlos
Ну, мне алгоритм и так понятен, он довольно прост
Там как раз очень забавный алгоритм вращения с константой памяти и линией времени
источник

CK

Charlotte Karlos in supapro.cxx
Constantine Drozdov
Там как раз очень забавный алгоритм вращения с константой памяти и линией времени
Мм
источник

CK

Charlotte Karlos in supapro.cxx
Блин, простите, но сейчас нужно на практику бежать, я продолжу позднее, вечером
источник

IZ

Ilia Zviagin in supapro.cxx
Charlotte Karlos
У меня есть метод backward, задача которого - смещение массива влево/назад. Он принимает один аргумент типа int в качестве смещения (на 1, 2, 3 или другое количество элементов). Так же, я добавил для него перегрузку, которая не принимает никаких параметров и просто делает backward(1), то есть просто для удобства. Но, когда я вызываю метод backward(), происходит нечто, что ломает работу программы. В то время, как вызов backward(1) не приносит никаких проблем. Почему? Ведь перегрузка не делает ничего, кроме как вызывает основной метод.

template <typename T>
void row<T>::backward(int iOffset)
{
 for (int i = 0; i < iOffset; ++i)
 {
   T temp = this -> arr[0];
   for (int j = 1; j < this -> iLen; ++j)
     this -> arr[j - 1] = this -> arr[j];
   this -> arr[this -> iLen - 1] = temp;
 }
}

template <typename T>
void row<T>::backward()
{
 this -> backward(1);
}
У тебя два вложенных цикла а надо один
источник

IZ

Ilia Zviagin in supapro.cxx
Charlotte Karlos
Блин, простите, но сейчас нужно на практику бежать, я продолжу позднее, вечером
Так что логика неверная
источник

АК

Александр Караев... in supapro.cxx
Ilia Zviagin
Так что логика неверная
да это скорее косяк по сложности алгоритма, логика-то верная
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
Charlotte Karlos
У меня есть метод backward, задача которого - смещение массива влево/назад. Он принимает один аргумент типа int в качестве смещения (на 1, 2, 3 или другое количество элементов). Так же, я добавил для него перегрузку, которая не принимает никаких параметров и просто делает backward(1), то есть просто для удобства. Но, когда я вызываю метод backward(), происходит нечто, что ломает работу программы. В то время, как вызов backward(1) не приносит никаких проблем. Почему? Ведь перегрузка не делает ничего, кроме как вызывает основной метод.

template <typename T>
void row<T>::backward(int iOffset)
{
 for (int i = 0; i < iOffset; ++i)
 {
   T temp = this -> arr[0];
   for (int j = 1; j < this -> iLen; ++j)
     this -> arr[j - 1] = this -> arr[j];
   this -> arr[this -> iLen - 1] = temp;
 }
}

template <typename T>
void row<T>::backward()
{
 this -> backward(1);
}
Код неправильный хотя бы потому, что ротация массива это O(N)
источник

RN

Random Nickname in supapro.cxx
нужен контейнер “очередь с приоритетом фиксированного размера”. В бусте и стд не нашел. Пара поделок на гитхабе, но не уверен, что можно без опаски использовать. Есть информация какая библиотека такое содержит?
источник

FS

Flower Surgeon in supapro.cxx
Напиши сам адаптер для deque. И тестами покрой.
источник

RN

Random Nickname in supapro.cxx
Flower Surgeon
Напиши сам адаптер для deque. И тестами покрой.
Это очевидный ответ, я спрашивал, нет ли готового.
источник

CD

Constantine Drozdov in supapro.cxx
Random Nickname
нужен контейнер “очередь с приоритетом фиксированного размера”. В бусте и стд не нашел. Пара поделок на гитхабе, но не уверен, что можно без опаски использовать. Есть информация какая библиотека такое содержит?
В смысле фиксированного размера?
источник

RN

Random Nickname in supapro.cxx
создается примерно так fixed_pq(maximum); . Когда упирается в максимум наименьший элемент удаляется.
источник

CD

Constantine Drozdov in supapro.cxx
Random Nickname
создается примерно так fixed_pq(maximum); . Когда упирается в максимум наименьший элемент удаляется.
Это три строчки над стандартным PQ
источник

RN

Random Nickname in supapro.cxx
Constantine Drozdov
Это три строчки над стандартным PQ
я что-то не придумал. подскажи
источник

CD

Constantine Drozdov in supapro.cxx
Random Nickname
я что-то не придумал. подскажи
Ну там интерфейс три метода у PQ, top push и pop
источник

CD

Constantine Drozdov in supapro.cxx
В push проверить size
источник

RN

Random Nickname in supapro.cxx
Constantine Drozdov
Ну там интерфейс три метода у PQ, top push и pop
ну и как мне удалять наименьший? top/pop() мне к наибольшему только доступ дает
источник

CD

Constantine Drozdov in supapro.cxx
А, наименьший, тогда над std::set
источник