:orphan: # 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 --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/sys/utils/sortso.c) [Index of all Sys routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)