Мне трудно создать произвольную вставку значения в Go, мне нужно сделать 10 тестов с 1000 числами, затем 10 тестов с 5000 номерами, затем 10 тестов с 10000 номерами, затем 10 тестов с 15000 ... до 50000
Я сделал код с функцией и другой код без функции, а 2 неверны
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
var vetor [50000]int
for k := 1; k <= 10; {
k := (5 ^ k) * 1000
for i := 1000; i < 50000; {
vetor[i] = rand.Intn(1000)
fmt.Print(vetor[i], ",")
}
start := time.Now()
n := len(vetor)
if n < 2 {
return
}
for i := 1; i < n; i++ {
for j := i - 1; j >= 0; j-- {
if (vetor)[j] > (vetor)[j+1] {
(vetor)[j], (vetor)[j+1] = (vetor)[j+1], (vetor)[j]
} else {
break
}
}
}
t := time.Now()
decorrido := t.Sub(start)
}
}
package main
import (
"fmt"
"math/rand"
"time"
)
func insertion(array *[]int) {
n := len(*array)
if n < 2 {
return
}
for i := 1; i < n; i++ {
for j := i - 1; j >= 0; j-- {
if (*array)[j] > (*array)[j+1] {
(*array)[j], (*array)[j+1] = (*array)[j+1], (*array)[j]
} else {
break
}
}
}
}
func main() {
var vetor [50000]int
for k := 1; k <= 10; {
k := (5 ^ k) * 1000
for i := 1000; i < 50000; {
vetor[i] = rand.Intn(1000)
fmt.Print(vetor[i], ",")
}
start := time.Now()
insertion(&vetor)
t := time.Now()
decorrido := t.Sub(start)
}
}
Мне также нужно рассчитать время выполнения для всех тестов и вычесть средние значения из всех 10 результатов