drBatty писал(а): ↑20.01.2010 10:48
вроде была search? в php например? или у вас pos тоже ищет?
pos функция выдает номер первого вхождения подстроки в строку. Полное pos(подстр,стр): integer.
Столкнулся с тем, что есть "сержант", а есть он же "младший" и он же "старший". А будет искать первое вхождение. A так же с тем что под число надо тоже одинаковое количество символов. (Чтобы потом вырезать от первого вхождения на три символа назад). А IntToStr "1 ","2 " числом не считает. Только "1", "2". Пока смотрю так. Дописывать к индексу ".00" а к значению пробелы до одинаковой длины. Т.Е. строка будет вида "1.0РЯДОВОЙ 1.0МАТРОС 2.0ЕФРЕЙТОР 999ГЕНЕРАЛИССИМУС" И искать подстроку типа "МАТРОС ".
Вообще чего я тему начал. В программе уже похожим на первый пост способом нумерую теги из xml. Тут надо сортировать по званиям, а в дальнейшем - уже и по образованию. Ну, раз говнокод - случайность. Два - тенденция. А три - диагноз. Хотелось бы найти кошерный способ. А вообще, сварганить одну процедуру подо все.
Crazy писал(а): ↑20.01.2010 11:10
Прямой доступ к элементам сетки есть, значит можно применить алгоритм сортировки Хоара("быстрая" сортировка).
Сами алгоритмы сортировки не зависят от типа данных, которые они сортируют. Обычно в стиле STL пишут функцию
сравнения двух элементов сортируемого множества. Эта функция может использовать то отображения сортируемого множества, на множество натуральных чисел, которое вы предложили вначале.
Если не нравится конструкции if ... then, то можно использовать хеш, как структуру с постоянным времени доступа, в котором элемент сортируемого множества является ключом к своему отображению на пространство натуральных чисел.
Дело вот в чем. Сейчас покажу, что уже навоял.
В этой сетке данные не
отображаются, а
хранятся. После загрузки они прописываются в сетке и все. Нет никаких переменных связанных с записью и данными в ней. Работаю только с объектом StringGrid - строками, столбцами, ячейками. Конечно, значение в определенной ячейки могу считать. (5-я колонка). Но в памяти нет ни массива ни записи - только вспомогательные переменные. И менять местами строки надо от содержимого ячеек.
А с Хоаром невкуриваю. Он же отсортирует мне по алфавиту, только быстрее?
У вас нет необходимых прав для просмотра вложений в этом сообщении.