issorted

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

Описание

пример

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
    "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 содержит отсутствующие значения, такие как NaNNAT, <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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Больше о

свернуть все

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

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

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

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

| |

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