Алгоритмы средней сложности: различия между версиями
Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Mikst (обсуждение | вклад) (→Циклы) |
Mikst (обсуждение | вклад) Нет описания правки |
||
Строка 6: | Строка 6: | ||
== Массивы == | == Массивы == | ||
=== | === Программы === | ||
# Проверка того, является ли массив отсортированным (по возрастанию, убыванию или в любом порядке), вывод первого элемента, нарушающего порядок сортировки | # Проверка того, является ли массив отсортированным (по возрастанию, убыванию или в любом порядке), вывод первого элемента, нарушающего порядок сортировки | ||
# Анализ локальных максимумов, минимумов и экстремумов (использование барьерных элементов) | # Анализ локальных максимумов, минимумов и экстремумов (использование барьерных элементов) | ||
Строка 19: | Строка 19: | ||
== Матрицы == | == Матрицы == | ||
=== | === Программы === | ||
# Удаление строки/столбца с заданным номером | # Удаление строки/столбца с заданным номером | ||
# Вставка новой строки/столбца перед/после заданной строки/столбца (или дублирование строки/столбца) | # Вставка новой строки/столбца перед/после заданной строки/столбца (или дублирование строки/столбца) | ||
Строка 28: | Строка 28: | ||
== Строки и символы == | == Строки и символы == | ||
=== | === Программы === | ||
# Преобразование числа в строку и обратно, быстрый способ преобразование цифрового символа в соответствующее однозначное число и обратно | # Преобразование числа в строку и обратно, быстрый способ преобразование цифрового символа в соответствующее однозначное число и обратно | ||
# Разные способы инвертирования строки | # Разные способы инвертирования строки | ||
Строка 42: | Строка 42: | ||
== Ссылки == | == Ссылки == | ||
[[ | *[[Программы для начинающих]] |
Версия от 15:54, 19 января 2010
Циклы
Программы
- Разложение числа на простые множители (математика)
Массивы
Программы
- Проверка того, является ли массив отсортированным (по возрастанию, убыванию или в любом порядке), вывод первого элемента, нарушающего порядок сортировки
- Анализ локальных максимумов, минимумов и экстремумов (использование барьерных элементов)
- Вставка в отсортированный массив нового элемента с сохранением упорядоченности элементов
- Сортировка с помощью индексного массива (с сохранением исходного порядка элементов в основном массиве)
- Анализ последовательностей одинаковых элементов в массиве (определение числа таких последовательностей, самой длинной последовательности, числа самых длинных последовательностей или числа последовательностей указанной длины и т.д.)
- Нахождение нескольких минимальных или максимальных элементов за один проход массива
- Нахождение количества максимальных/минимальных элементов, количества элементов, следующих за максимальными/минимальными и т.д., за один проход массива
- Инвертирование части массива
- Удаление из массива всех элементов, удовлетворяющих определенному условию
- Вставка в массив новых элементов перед/после элементов, удовлетворяющих определенному условию, дублирование таких элементов
Матрицы
Программы
- Удаление строки/столбца с заданным номером
- Вставка новой строки/столбца перед/после заданной строки/столбца (или дублирование строки/столбца)
- Нумерация диагоналей, параллельных главной/побочной, использование массива с характеристиками каждой диагонали (например, с суммой значений)
- Сортировка строк/столбцов по некоторому ключу, связанному со строками/столбцами
- Анализ элементов, соседних с данным элементом матрицы, в частности, нахождение локальных минимумов/максимумов (использование обрамляющих матрицу строк и столбцов для единообразной обработки)
Строки и символы
Программы
- Преобразование числа в строку и обратно, быстрый способ преобразование цифрового символа в соответствующее однозначное число и обратно
- Разные способы инвертирования строки
- Проверка того, что строка представляет собой запись целого числа; вещественного числа
- Нахождение последнего вхождения подстроки в строку (варианты, использующие различные стандартные функции)
- Удаление из строки определенных символов или вставка в строку символов перед/после требуемых (просмотр строки с конца)
- Разные способы удаления из строки лишних пробелов
- Разбиение строки на отдельные слова (в предположении, что слова разделяются пробелами, или при наличии набора разделителей)
- Изменение регистра букв в строке
- Удаление из начала/конца строки требуемого символа (с учетом того, что в результате строка может оказаться пустой)
- Распознавание в строке начальных и конечных символов слов, при условии, что в начале и конце строки могут находиться пробелы, а слова разделяются одним или несколькими пробелами или другими разделителями
- Проверка правильности расстановки скобок в строке (ситуация, когда используются только круглые скобки, и ситуация, когда имеется несколько видов скобок)