issorted

Определите, отсортирован ли массив

Синтаксис

TF = issorted(A)
TF = issorted(A,dim)
TF = issorted(___,direction)
TF = issorted(___,Name,Value)
TF = issorted(A,'rows')

Описание

пример

TF = issorted(A) возвращает логический скаляр 1 (true), когда элементы A перечислены в порядке возрастания и 0 (false) в противном случае.

  • Если A является вектором, то issorted возвращается 1, когда векторные элементы в порядке возрастания.

  • Если A является матрицей, то issorted возвращается 1, когда каждый столбец A в порядке возрастания.

  • Если A является многомерным массивом, то issorted возвращается 1, когда A в порядке возрастания приезжает первая размерность, размер которой не равняется 1.

  • Если A является расписанием, то issorted возвращается 1, когда его временной вектор строки в порядке возрастания. Чтобы проверять упорядоченное расположение времен строки или переменные расписания с дополнительными опциями, используйте функцию issortedrows.

пример

TF = issorted(A,dim) возвращается 1, когда A сортируется по измерению dim. Например, если A является матрицей, то issorted(A,2) возвращается 1, когда каждая строка A в порядке возрастания.

пример

TF = issorted(___,direction) возвращается 1, когда A сортируется в порядке, заданном direction для любого из предыдущих синтаксисов. Например, issorted(A,'monotonic') возвращается 1, если элементы A возрастают или убывают.

пример

TF = issorted(___,Name,Value) задает дополнительные параметры для проверки порядка сортировки. Например, issorted(A,'ComparisonMethod','abs') проверяет, сортируется ли A по значению.

TF = issorted(A,'rows') возвращается 1, когда элементы первого столбца матрицы сортируются. Если первый столбец содержит повторенные элементы, то issorted смотрит на упорядоченное расположение второго столбца, чтобы определить TF. В целом issorted смотрит на столбец сразу к праву определить TF, когда текущие и предыдущие столбцы повторили элементы.

  • Если A является расписанием, то issortedrows проверяет, в порядке возрастания ли временной вектор строки.

  • Этот синтаксис не поддержан для матрицы векторов символов.

Примечание

Этот синтаксис не рекомендуется. Используйте issortedrows вместо этого.

Примеры

свернуть все

Создайте вектор и проверку, если она сортируется в порядке возрастания.

A = [5 12 33 39 78 90 95 107];
issorted(A)
ans = logical
   1

Создайте матрицу 5 на 5 и проверку, если каждая строка сортируется в порядке убывания.

A = magic(5)
A = 5×5

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

issorted(A,2,'descend')
ans = logical
   0

Сортировка каждой строки A в порядке убывания с помощью функции sort и проверки, что результат имеет убывающие строки.

B = sort(A,2,'descend')
B = 5×5

    24    17    15     8     1
    23    16    14     7     5
    22    20    13     6     4
    21    19    12    10     3
    25    18    11     9     2

issorted(B,2,'descend')
ans = logical
   1

Создайте 2D массив строк и определите, сортируется ли каждый столбец.

str = string({'Horse','Chicken';'cow','Goat'})
str = 2x2 string array
    "Horse"    "Chicken"
    "cow"      "Goat"   

issorted(str)
ans = logical
   1

Определите, сортируются ли строки слева направо.

issorted(str,2)
ans = logical
   0

Определите, сортируется ли каждая строка в порядке убывания слева направо.

issorted(str,2,'descend')
ans = logical
   1

Создайте вектор, содержащий значения NaN и комплексные числа.

A = [NaN NaN 1+i 1+2i 2+2i 3+i];

Проверяйте, что элементы NaN занимают первое место в векторе, и что остающиеся элементы сортируются по действительной части.

issorted(A,'MissingPlacement','first','ComparisonMethod','real')
ans = logical
   1

Поскольку третьи и четвертые элементы A имеют равную действительную часть, проверки issorted, если мнимая часть этих элементов также сортируется.

imag(A(3))
ans = 1
imag(A(4))
ans = 2

Входные параметры

свернуть все

Входной массив, заданный как вектор, матрица, многомерный массив, массив ячеек из символьных векторов или расписание.

  • Если A содержит отсутствующие значения, такие как NaN, NaT, <undefined> и missing, то по умолчанию, issorted требует, чтобы они были размещены в конец, чтобы возвратиться 1.

  • Если A является комплексным, то по умолчанию, issorted определяет порядок сортировки значением элементов. Если существуют последовательные элементы с равным значением, то issorted также проверяет угол фазы в интервал (-π, π], чтобы повредить связи.

  • Если A является массивом ячеек из символьных векторов или массивом строк, то issorted определяет порядок сортировки с помощью порядка кода для схемы кодировки символов UTF-16. Вид является чувствительным к регистру. Для получения дополнительной информации об отсортированных символьных массивах и строковых массивах, смотрите Порядок сортировки для Символьных массивов и Строковых массивов.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | cell | categorical | datetime | duration | timetable

Поддержка комплексного числа: Да

Величина для работы, заданная как положительный целый скаляр. Если значение не задано, то по умолчанию это первый размер массива, не равный 1.

Рассмотрите матричный A. issorted(A,1) проверяет, сортируются ли данные в каждом столбце A.

issorted(A,2) проверяет, сортируются ли данные в каждой строке A.

dim не поддержан для входа расписания.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Сортировка направления, заданного как одно из следующего:

  • 'ascend' — Проверки, если данные в порядке возрастания. Данные могут содержать последовательные повторные элементы.

  • 'descend' — Проверки, если данные в порядке убывания. Данные могут содержать последовательные повторные элементы.

  • 'monotonic' — Проверки, если данные находятся в порядке убывания или порядке по возрастанию. Данные могут содержать последовательные повторные элементы.

  • 'strictascend' — Проверки, если данные находятся в строго порядке по возрастанию. Данные не могут содержать копию или недостающие элементы.

  • 'strictdescend' — Проверки, если данные находятся в строго порядке убывания. Данные не могут содержать копию или недостающие элементы.

  • 'strictmonotonic' — Проверки, если данные находятся в строгом убывании или строго порядке по возрастанию. Данные не могут содержать копию или недостающие элементы.

direction не поддержан для входа расписания. Используйте issortedrows вместо этого.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: issorted(A,'MissingPlacement','last')

Размещение отсутствующих значений (NaN, NaT, <undefined> и missing) заданный как пара, разделенная запятой, состоящая из 'MissingPlacement' и одно из следующего:

  • 'auto' Недостающие элементы требуются, чтобы быть помещенными в последний раз для порядка по возрастанию и сначала для порядка убывания, чтобы возвратиться 1.

  • 'first' — Недостающие элементы требуются, чтобы занять первое место, чтобы возвратиться 1.

  • 'last' — Недостающие элементы требуются, чтобы быть помещенными в последний раз, чтобы возвратиться 1.

Эта пара "имя-значение" не поддержана для входа расписания. Используйте issortedrows вместо этого.

Метод сравнения элемента, заданный как пара, разделенная запятой, состоящая из 'ComparisonMethod' и одно из следующего:

  • 'auto' Проверяйте, сортируется ли A по real(A), когда A действителен, и проверка, если A сортируется по abs(A), когда A является комплексным.

  • действительный Проверяйте, сортируется ли A по real(A), когда A является действительным или комплексным. Если A имеет элементы с последовательными равными действительными частями, то проверяйте imag(A), чтобы повредить связи.

  • abs Проверяйте, сортируется ли A по abs(A), когда A является действительным или комплексным. Если A имеет элементы с последовательным равным значением, то проверяйте angle(A) в интервал (-π,π], чтобы повредить связи.

Больше о

свернуть все

Порядок сортировки для символьных массивов и массивов строк

MATLAB® хранит символы как Unicode® с помощью схемы кодировки символов UTF-16. Символьные массивы и строковые массивы сортируются согласно порядку кодовой точки UTF-16. Для символов, которые являются также символами ASCII, этот порядок означает, что прописные письма приходят перед строчными буквами. Цифры и некоторая пунктуация также прибывают перед буквами.

Расширенные возможности

Смотрите также

| |

Представлено до R2006a