Форум программистов, компьютерный форум, киберфорум
Наши страницы

Создать шаблонный класс-контейнер Array, который представляет собой массив - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ какой компилятор посоветуете http://www.cyberforum.ru/cpp-beginners/thread152493.html
Сел изучать С по книге Б.Керниган и Д.Ритчи "Язык прогр. Си", програмные примеры в книге описаны на Линуксе, что для меня не совсем удобно. Какой компилятор из под винды посоветуете для примеров...
C++ Центральность графа (переделка с C#) У меня есть алгоритм, по которому надо найти промежуточную центральность каждой вершины графа (если дана матрица смежности). (стр 10). Я нашел // Copyright (c) Microsoft Corporation. All rights... http://www.cyberforum.ru/cpp-beginners/thread152484.html
В каком заголовочном файле находятся функции Sleep() и delay() и как правильно их использовать? C++
в каком хедере они находятся и как правильно их использовать Добавлено через 1 минуту дядя яндекс ничего не подсказал =(
Преобразовать строку таким образом, чтобы цифры каждого слова были перенесены в начало слова без изменения порядка следования их в слове C++
подскажите в чем ошибка задание:Преобразовать строку таким образом, чтобы цифры каждого слова были перенесены в начало слова без изменения порядка следования их в слове #include <iostream>...
C++ Преобразовать строку, заменяя каждое слово "this" словом "that". http://www.cyberforum.ru/cpp-beginners/thread152464.html
подскажите в чем ошибка задание:Преобразовать строку, заменяя каждое слово "this" словом "that". #include <iostream> #include <string> using namespace std; void preobr(string s) { ...
C++ Рисование квадратов символами Где-то тут недавно видел задачу, которая из разных символов рисует квадраты с вписанными квадратами по приницпу 111111111 1_______1 1_11111_1 1_1___1_1 1_1_1_1_1 1_1___1_1 1_11111_1... подробнее

Показать сообщение отдельно
Nick Alte
Эксперт С++
1642 / 1014 / 119
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
08.07.2010, 22:59
Я не говорил "на основе векторов", я говорил "по сходному принципу", заодно и описал сам этот несложный принцип. Это раз. Думаю, динамическое выделение памяти под массивы вы уже проходили. Это два. Реализовывать массив через список - нелепица и надевание трусов через голову, да и задание явно написано именно под массивы, а не под списки, это три.
Если всё же приспичило делать "массив" столь экстравагантным образом, то реализовывать основные пункты придётся так:
- объекту придётся хранить указатели на начало списка, на первый незанятый элемент и на конец списка;
- придётся хранить текущий размер массива, количество занятых элементов и текущее количество добавляемых элементов (grow);
- объём массива держать в самом объекте, корректно обновляя его после изменяющих размер операций;
- добавление места под M элементов производить посредством M добавлений узлов к хвостовому, с заполнением значениями по умолчанию;
- удаление M элементов (М<=N, где N - количество элементов) производить посредством M удалений последнего заполненного элемента (т.е. в общем случае из середины списка, в частном случае N = R, где R - размер массива с учётом резерва, удаление будет производиться из конца списка);
- поиск элемента с индексом I<N производить путём отсчёта I элементов от первого;
Кроме того, будет мышиная возня с зарезервированными элементами при добавлении в середину массива и удалении из середины. Хочу ещё раз подчеркнуть, что вообще эта возня с дополнительно резервируемыми местами не имеет никакого смысла при работе со списками, но оправдана при работе с цельнокусковыми массивами.
Так что я очень советую уточнить, действительно ли вам надо делать это задание через списки.
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.