Russian Belarusian English German Japanese Ukrainian

Exchange

CuBook2.675

Описание

При вызове Exchange два элемента списка с позициями Index1 и Index2 обмениваются местами. Индексы позиций начинаются с 0 (0 - первый элемент).
Если в списках строк со строками связаны объекты, они остаются связанными с теми же строками в их новых позициях.
Не применяйте метод Exchange к сортированным спискам TStringList, за исключением случая взаимного перемещения двух одинаковых строк, связанных с разными объектами. Дело в том, что метод Exchange не проверяет условий сортировки и может нарушить упорядоченность списка.
 
Классы

TList, TStringList, TStrings
 
Прототип

TList:
void __fastcall Exchange(int Index1, int Index2);
TStrings и TStringList:
virtual void __fastcall Exchange(int Index1, int Index2);
 
Пример

Пусть список List типа TList содержит указатели на целые числа. Тогда приведенная ниже программа перемещает на первое место указатель на минимальное число (это один шаг пузырьковой сортировки).
for(int i - 1; i < List->Count; i++)
if (* ((int *)List->Items[0]) > *((int *)List->Items[i]))
List->Exchange (0, i);
 
Полностью пузырьковая сортировка списка указателей на целые числа реализуется вложенными циклами:
for(int j = 0; j < List->Count-1; j++)
for(int i = j; i < List->Count; i++) (
if (*((int *)List->Items[j]) > * ((int *)List->Items[i]))
List->Exchange (j, i);
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий