:orphan:
# PetscRealSortSemiOrderedWithArrayInt
Sorts an array of `PetscReal` in place in increasing order and reorders a second array of `PetscInt` to match the first. 
## Synopsis
```
#include "petscsys.h"  
PetscErrorCode PetscRealSortSemiOrderedWithArrayInt(PetscInt n, PetscReal arr1[], PetscInt arr2[])
```
Not Collective


## Input Parameter

- ***n   -*** number of values



## Input/Output Parameters

- ***arr1 -*** array of `PetscReal` to be sorted, modified on output


- ***arr2 -*** array of `PetscInt` to be reordered, modified on output



## Notes
This function serves as an alternative to `PetscSortRealWithArray()`. While this function works for any array of `PetscReal` 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()`, `PetscSortRealWithArrayInt()`, `PetscSortRealWithPermutation()`

## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/sys/utils/sortso.c.html#PetscRealSortSemiOrderedWithArrayInt">src/sys/utils/sortso.c</A>


---
[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)  
