Skip to main content
`Ctrl`+`K`

# PetscIntSortSemiOrderedWithArray

Sorts an array of `PetscInt` in place in increasing order and reorders a second `PetscInt` array to match the first.

## Synopsis

    #include "petscsys.h"
    PetscErrorCode PetscIntSortSemiOrderedWithArray(PetscInt n, PetscInt arr1[], PetscInt arr2[])

Not Collective

## Input Parameter

- n - number of values

## Input/Output Parameters

- arr1 - array of integers to be sorted, modified on output

- arr2 - array of integers to be reordered, modified on output

## Notes

The arrays CANNOT overlap.

This function serves as an alternative to `PetscSortIntWithArray()`. While this function works for any array of integers it is significantly faster if the array is not totally random. There are exceptions to this and so it is highly recommended that the user benchmark their code to see which routine is fastest.

## See Also

`PetscTimSortWithArray()`, `PetscSortIntWithArray()`, `PetscSortIntWithPermutation()`

## Level

intermediate

## Location

src/sys/utils/sortso.c

Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages