aboutsummaryrefslogtreecommitdiff
path: root/doc/progs/eff_sequence.go
diff options
context:
space:
mode:
Diffstat (limited to 'doc/progs/eff_sequence.go')
-rw-r--r--doc/progs/eff_sequence.go49
1 files changed, 0 insertions, 49 deletions
diff --git a/doc/progs/eff_sequence.go b/doc/progs/eff_sequence.go
deleted file mode 100644
index ab1826b6ee..0000000000
--- a/doc/progs/eff_sequence.go
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-import (
- "fmt"
- "sort"
-)
-
-func main() {
- seq := Sequence{6, 2, -1, 44, 16}
- sort.Sort(seq)
- fmt.Println(seq)
-}
-
-type Sequence []int
-
-// Methods required by sort.Interface.
-func (s Sequence) Len() int {
- return len(s)
-}
-func (s Sequence) Less(i, j int) bool {
- return s[i] < s[j]
-}
-func (s Sequence) Swap(i, j int) {
- s[i], s[j] = s[j], s[i]
-}
-
-// Copy returns a copy of the Sequence.
-func (s Sequence) Copy() Sequence {
- copy := make(Sequence, 0, len(s))
- return append(copy, s...)
-}
-
-// Method for printing - sorts the elements before printing.
-func (s Sequence) String() string {
- s = s.Copy() // Make a copy; don't overwrite argument.
- sort.Sort(s)
- str := "["
- for i, elem := range s { // Loop is O(N²); will fix that in next example.
- if i > 0 {
- str += " "
- }
- str += fmt.Sprint(elem)
- }
- return str + "]"
-}