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.

56 lines
1.1 KiB

5 years ago
## issorted
5 years ago
### Instructions
Write a function `IsSorted()` that returns `true`, if the slice of `int` is sorted, otherwise returns `false`.
- The function passed as an argument `func(a, b int)` returns a positive `int` if the first argument is greater than 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.
5 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"
)
func main() {
a1 := []int{0, 1, 2, 3, 4, 5}
a2 := []int{0, 2, 1, 3}
result1 := IsSorted(f, a1)
result2 := 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)