Advertisement
Guest User

Untitled

a guest
Feb 20th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "math/rand"
  5. "sort"
  6. "testing"
  7. )
  8.  
  9. func BenchmarkInsertSorted(b *testing.B) {
  10. data := make([]int, b.N)
  11. for i := 0; i < b.N; i++ {
  12. data[i] = rand.Int()
  13. }
  14.  
  15. a := []int{}
  16.  
  17. for z := 0; z < len(data); z++ {
  18. x := data[z]
  19.  
  20. i := sort.SearchInts(a, x)
  21. if i >= len(a) || a[i] != x {
  22. a = append(a, 0)
  23. copy(a[i+1:], a[i:])
  24. a[i] = x
  25. }
  26. }
  27. }
  28.  
  29. func BenchmarkSortAfter(b *testing.B) {
  30. data := make([]int, b.N)
  31. for i := 0; i < b.N; i++ {
  32. data[i] = rand.Int()
  33. }
  34.  
  35. a := []int{}
  36.  
  37. for z := 0; z < len(data); z++ {
  38. x := data[z]
  39. a = append(a, x)
  40. }
  41. sort.Ints(a)
  42. j := 0
  43. for i := 1; i < len(a); i++ {
  44. if a[j] == a[i] {
  45. continue
  46. }
  47. j++
  48. a[j] = a[i]
  49. }
  50. a = a[:j+1]
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement