You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
1.1 KiB

6 years ago
## issorted
6 years ago
### Instructions
Write a function `IsSorted` that returns `true`, if the slice of `int` is sorted, otherwise returns `false`.
The function passed in the parameter returns a positive `int` if `a` (the first argument) is greater than to `b` (the second argument), it returns `0` if they are equal and it returns a negative `int` otherwise.
To do your testing you have to write your own `f` function.
6 years ago
### Expected function
```go
func IsSorted(f func(a, b int) int, a []int) bool {
5 years ago
}
```
### Usage
Here is a possible program to test your function (without `f`):
```go
package main
import (
"fmt"
"piscine"
)
func main() {
a1 := []int{0, 1, 2, 3, 4, 5}
a2 := []int{0, 2, 1, 3}
result1 := piscine.IsSorted(f, a1)
result2 := piscine.IsSorted(f, a2)
fmt.Println(result1)
fmt.Println(result2)
}
```
And its output :
```console
$ go run .
true
false
$
```
### Notions
- [Function literals](https://golang.org/ref/spec#Function_literals)
- [Function declaration](https://golang.org/ref/spec#Function_declarations)
- [Function types](https://golang.org/ref/spec#Function_types)