КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
ADT – формат данных StringADT String Данные Последовательность ANSI символов, оканчивающаяся NULL–символом Операции Нахождение длины (Length) Вход: Строка S Предусловие: Нет Процесс: Подсчет числа символов до NULL–символа Выход: Возвращает количество символов в строке Постусловие: Нет Копирование (Copy) Вход: Строка S. Индекс первого символа, с которого начинается копирование (Index). Количество копируемых символов (Count). Предусловие: Нет Процесс: Копирование до Count символов из строки S, начиная с позиции Index, в строку S1. Если Index меньше единицы, то копируются все символы от 1 до Count. Если Index + Count – 1 больше длины строки S, то копируются все символы от Index до конца строки S. Выход: Возвращается строка S1 или пустая строка, если Index превышает длину исходной строки S или сама S является пустой или Count меньше 1. Постусловие: Строка S1 с новой длиной и данными. Строка S не изменяется. Конкатенация (Concat) Вход: Две строки S1 и S2 Предусловие: Нет Процесс: Сцепление строк S1 и S2 за счет создания строки S с присвоением ей строки S1, выделения дополнительной памяти для вставки символов из строки S2 и копирования всех символов из строки S2 в конец строки S. Выход: Возвращается строка S или строка S2, если строка S1 является пустой. Постусловие: Строка S с новой длиной и данными. Строки S1 и S2 не изменяются Сравнение (StrComp) Вход: Две строки S1 и S2 Предусловие: Нет Процесс: ASCII-упорядочивания к этим строкам Выход: - 1, если Str1 < Str2; 0, если Str1 = Str2; 1, если Str1 > Str2 Постусловие: Нет Индексация (Pos) Вход: Подстрока SubStr и строка Str Предусловие: Нет Процесс: Поиск первого вхождения подстроки SubStr в строку Str. Выход: Возвращается индекс первого символа найденной подстроки или 0, если подстрока SubStr не найдена Постусловие: Нет Удаление (Delete) Вход: Строка S. Индекс первого символа (Index), с которого начинается удаление. Число удаляемых символов (Count). Предусловие: Нет Процесс: Удаление до Count символов из строки S, начиная с позиции Index, за счет сдвига всех не удаленных символов с позиции Index + Count на Count позиций вперед. Если Index меньше единицы, то удаляются все символы от 1 до Count. Если Index + Count - 1 больше длины строки S, то удаляются все символы от Index до конца строки S. Выход: Строка S Постусловие: Строка S с новой длиной и данными или исходная строка, если Index превышает её длину или сама строка S является пустой или Count меньше 1. Вставка (Insert) Вход: Строка Source и S. Индекс первого символа (Index), с которого начинается вставка. Предусловие: Нет Процесс: Вставляется строка Source в строку S, начиная с позиции Index, за счет перемещения всех символов строки S с позиции Index на длину строки Source назад и копирования всех символов строки Source вместо перемещенных символов строки S. Если индекс Index меньше 1, то символы вставляются с первой позиции. Если Index больше длины строки S, то символы строки Source вставляются в конец строки S. Выход: Строка S или строка Source, если строка S является пустой. Постусловие: Строка S с новой длиной и данными. Строка Source не изменяется. Замена (Replace) Вход: Строка Source и S. Индекс первого символа (Index), с которого начинается замена. Предусловие: Нет Процесс: Вставляется строка Source в строку S, начиная с позиции Index, за счет замены всех символов строки S с позиции Index до конца строки Source. Если индекс Index меньше единицы, то символы вставляются с первой позиции. Если Index больше длины строки S, то символы строки Source вставляются в конец строки S. Выход: Строка S или строка Source, если строка S является пустой. Постусловие: Строка S с новой длиной и данными. Строка Source не изменяется. Конец ADT String
|