Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.65/48: Рейтинг темы: голосов - 48, средняя оценка - 4.65
5 / 6 / 4
Регистрация: 18.11.2009
Сообщений: 661

Реализация контейнера "вектор"

20.01.2014, 11:17. Показов 9662. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В С нет STL -библиотеки, тем более интересна для практических целей реализация контейнера вектор.
Прочитав дискуссии в инете, понял ,что вектор это логическая, определяющий некий интерфейс т.е. это - получение доступа к ее единицам данных по индексу, операции вставки и удаления, с перевыделением и частичной очисткой памяти, а также полная очистка - метод clear. Программная реализация может быть разной. Как понимаю на основе списков односвязных или двухсвязных или динамических массивов.
Как проще всего в С (или если хотите в Pascal Delphi где тоже нет STL) сделать реализацию контейнера вектор?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.01.2014, 11:17
Ответы с готовыми решениями:

Реализация класса контейнера типа "вектор"
Необходимо реализовать класс вектора с функциями добавления нового элемента в конец вектора и удаления последнего элемента (push_back и...

Использование контейнера вектор
#include <iostream> #include <vector> #include <string> #include <algorithm> #include <array> using namespace std; class...

Разработка собственного контейнера Вектор
Приветствую всех. Пишу своё собственное подобие стандартного вектора. Уже выкладывал раньше, в этой теме -...

22
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
27.01.2014, 22:01
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от eugrita Посмотреть сообщение
Можно ли как-то избавиться от этого не сильно переделывая код?
IMHO, нет.
0
923 / 639 / 198
Регистрация: 08.09.2013
Сообщений: 1,693
27.01.2014, 23:43
Цитата Сообщение от eugrita Посмотреть сообщение
Мне также интересно практическое применение технологий работы с разреженными матрицами. Где они в жизни?
С чем я сталкивался - это моделирование геологических процессов. Там получаются СЛУ из разреженных матриц. Говорят, и в других областях такие СЛУ - не редкость.
Цитата Сообщение от eugrita Посмотреть сообщение
серьезный недостаток - возможность прямого доступа к массиву el в обход функций push_back, ins
Это можно назвать недостатком, если защита от дурака - одно из требований к вашей программе (библиотеке), например пишете графический интерфейс Windows или MACOS .
Прямой доступ, по моим расчетам, в разы увеличивает скорость. Его наличие и возможную опасность можно оговорить в документации.
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
28.01.2014, 00:06
Цитата Сообщение от eugrita Посмотреть сообщение
h файл я тем самым пошел на серьезный недостаток - возможность прямого доступа к массиву el в обход функций push_back, ins
а ты разве стек организуешь?
у вектора должен быть прямой доступ
единственно что если индекс больше массива, но это уже никак не обойти по моему
разве что создать методы Set Get а структуру спрятать в другом файле
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.01.2014, 00:06

Реализация Контейнера
Не используя библиотеки(map...) реализовать универсальный контейнер #include <iostream> namespace my { ...

Создать стек на основе контейнера вектор
как реализовать эту программу через вектор, помогите пожалуйста #include <iostream> // for cin cout #include<iomanip> #include...

Реализация полиморфного контейнера
Помогите реализовать контейнер для задачи. Условие: контейнер должен быть полиморфным. задача выглядит следующим образом: #include...

Реализация контейнера Строка
Здравствуйте. Имеет задание: разработать контейнер Строка и продемонстрировать работу. Этот шаблон класса должен содержать: конструктор...

Реализация контейнера в ООП
Здравствуйте, имеется такая задача: Нужна программа, в которую нужно забить информацию о файлам (Имя и размер), а эти файлы в свою очередь,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru