|
9 / 9 / 1
Регистрация: 17.06.2012
Сообщений: 168
|
||||||
Собственная строка29.11.2012, 13:03. Показов 973. Ответов 6
Метки нет (Все метки)
Написал простенький класс реализующий часть возможностей string
Понятно, что она плохая т.к. на данный момент просто изучаю программирование. Но плохо ли все, либо код имеет право на жизнь) Что поменять посоветуете)
0
|
||||||
| 29.11.2012, 13:03 | |
|
Ответы с готовыми решениями:
6
Собственная библиотека классов Собственная версия StringCompare Shared_ptr собственная реализация |
|
Неэпический
|
|||||||||||||
| 29.11.2012, 14:50 | |||||||||||||
0
|
|||||||||||||
|
9 / 9 / 1
Регистрация: 17.06.2012
Сообщений: 168
|
|||
| 30.11.2012, 01:09 [ТС] | |||
|
С другой стороны при выделение памяти можно выделять не для одного, а для 10-и например символов. При этом получается что мне придется хранить две переменные для size один размер скорее всего недоступный пользователю массива в целом, другой количество символов хранящихся в строке. Его и буду возвращать при getLength() Я Вас правильно понял? Пометить как удаленный? Т.е. пропускать при итерации? Ну тогда каждый раз придется делать дополнительную проверку? Что бы Вы посоветовали? Добавлено через 8 минут Вообще да, если подумать то тут при каждом удалении и добавлении одного символа кроме операции нью. Есть еще более медленные копирования из строки в новую строку. Возможно очень большие строки Добавлено через 1 минуту вообще я изначально хотел делать на основе списка, но тут встала проблема обращения по индексу слишком частого. Дерево двочиное?. ИМХО транный выбор для строки. Добавлено через 2 минуты К тому же обычное двоичное дерево тут не подошло бы как мне кажется. в качестве ключей бы пришлось использовать индекс при добавлении(поиск то по индексу). И получилось бы вырождение до связного списка.
0
|
|||
|
576 / 559 / 47
Регистрация: 16.12.2011
Сообщений: 1,389
|
|
| 30.11.2012, 01:15 | |
|
по поводу удаления - ничего не надо помечать. Просто сдвигаете элементы, которые были правее удаляемых, влево. А с памятью ничего не делайте
1
|
|
|
Неэпический
|
|||
| 30.11.2012, 06:41 | |||
|
I.M. Вам уже написал, что делать при удалении. Если же удаляем символы с конца строки, то просто уменьшаем length и всё.
1
|
|||
|
9 / 9 / 1
Регистрация: 17.06.2012
Сообщений: 168
|
|
| 30.11.2012, 11:34 [ТС] | |
|
Хм а ведь логично)
0
|
|
|
9 / 9 / 1
Регистрация: 17.06.2012
Сообщений: 168
|
||||||||||||||||
| 03.12.2012, 17:42 [ТС] | ||||||||||||||||
|
переписал код.
еще изменил метод инсерт. он теперь тоже сначала проверяет длинну строки на возможность вместить дополнительные символы и только в противном случае создает новую строку. Вынес вспомогательные классы в отдельные файлы. строка
Но насколько я понимаю тест я завалил) Чуть позже начну целиться на неоплачиваемую стажировку
0
|
||||||||||||||||
| 03.12.2012, 17:42 | |
|
Помогаю со студенческими работами здесь
7
Собственная функция gets и puts
Собственная реализация стека. Критика
Собственная реализация функции конкатенации Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|