Add package lexical
This commit is contained in:
parent
2e4e8910eb
commit
0121a30a7d
|
@ -0,0 +1,17 @@
|
||||||
|
package lexical
|
||||||
|
|
||||||
|
import (
|
||||||
|
"sort"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
// SlowSort returns string in lexical order. This function is slower
|
||||||
|
// than Lexical.
|
||||||
|
func SlowSort(word string) (sorted string) {
|
||||||
|
// Convert word to a slice, sort the slice.
|
||||||
|
t := strings.Split(word, "")
|
||||||
|
sort.Strings(t)
|
||||||
|
|
||||||
|
sorted = strings.Join(t, "")
|
||||||
|
return
|
||||||
|
}
|
|
@ -0,0 +1,19 @@
|
||||||
|
package lexical
|
||||||
|
|
||||||
|
import "sort"
|
||||||
|
|
||||||
|
// Sort takes a string as input and returns the lexical order.
|
||||||
|
func Sort(word string) (sorted string) {
|
||||||
|
// Convert the string to []rune.
|
||||||
|
var r []rune
|
||||||
|
for _, char := range word {
|
||||||
|
r = append(r, char)
|
||||||
|
}
|
||||||
|
|
||||||
|
sort.Slice(r, func(i, j int) bool {
|
||||||
|
return r[i] < r[j]
|
||||||
|
})
|
||||||
|
|
||||||
|
sorted = string(r)
|
||||||
|
return
|
||||||
|
}
|
Loading…
Reference in New Issue