bit_sort: bit sort

Description Usage Arguments Details Value See Also Examples

View source: R/bitsort.R

Description

fast sorting of integers

Usage

1
bit_sort(x, decreasing = FALSE, na.last = NA, has.dup = TRUE)

Arguments

x

an integer vector

decreasing

(currently only FALSE is supported)

na.last

NA removes NAs, FALSE puts NAs at the beginning, TRUE puts NAs at the end

has.dup

TRUE (the default) assumes that x might have duplicates, set to FALSE if duplicates are impossible

Details

determines the range of the integers and checks if the density justifies use of a bit vector; if yes, sorts the first occurences of each integer in the range using a bit vector, sorts the rest and merges; if no, falls back to quicksort.

Value

a sorted vector

See Also

sort, ramsort, bit_sort_unique

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
bit_sort(c(2L,1L,NA,NA,1L,2L))
bit_sort(c(2L,1L,NA,NA,1L,2L), na.last=FALSE)
bit_sort(c(2L,1L,NA,NA,1L,2L), na.last=TRUE)

## Not run: 
x <- sample(1e7, replace=TRUE)
system.time(bit_sort(x))
system.time(sort(x))

## End(Not run)

bit documentation built on Aug. 4, 2020, 9:06 a.m.