修订代码

This commit is contained in:
hahahrfool
2022-04-10 08:52:40 +08:00
parent 651bd12e72
commit 50de20ce12
8 changed files with 59 additions and 52 deletions

View File

@@ -45,15 +45,13 @@ func AllSubSets_improve1[T comparable](set []T) (subsets [][]T) {
return subsets
}
func CopySlice[T any](a []T) (r []T) {
func DuplicateSlice[T any](a []T) (r []T) {
r = make([]T, len(a))
for i, v := range a {
r[i] = v
}
copy(r, a)
return
}
//会直接改动原slice数据
// TrimSlice 从一个slice中移除一个元素, 会直接改动原slice数据
func TrimSlice[T any](a []T, deleteIndex int) []T {
j := 0
for idx, val := range a {

View File

@@ -12,14 +12,14 @@ var x = []string{"AA", "BB", "CC", "DD"}
var y = []int{1, 2, 3, 4}
func TestSplice(t *testing.T) {
t.Log(utils.TrimSlice(utils.CopySlice(x), 0))
t.Log(utils.TrimSlice(utils.CopySlice(x), 1))
t.Log(utils.TrimSlice(utils.CopySlice(x), 2))
t.Log(utils.TrimSlice(utils.CopySlice(x), 3))
t.Log(utils.TrimSlice(utils.CopySlice(y), 0))
t.Log(utils.TrimSlice(utils.CopySlice(y), 1))
t.Log(utils.TrimSlice(utils.CopySlice(y), 2))
t.Log(utils.TrimSlice(utils.CopySlice(y), 3))
t.Log(utils.TrimSlice(utils.DuplicateSlice(x), 0))
t.Log(utils.TrimSlice(utils.DuplicateSlice(x), 1))
t.Log(utils.TrimSlice(utils.DuplicateSlice(x), 2))
t.Log(utils.TrimSlice(utils.DuplicateSlice(x), 3))
t.Log(utils.TrimSlice(utils.DuplicateSlice(y), 0))
t.Log(utils.TrimSlice(utils.DuplicateSlice(y), 1))
t.Log(utils.TrimSlice(utils.DuplicateSlice(y), 2))
t.Log(utils.TrimSlice(utils.DuplicateSlice(y), 3))
}
/*

View File

@@ -17,6 +17,7 @@ func init() {
rand.Seed(time.Now().Unix())
}
// bufio.Reader 和 bytes.Buffer 都实现了 ByteReader
type ByteReader interface {
ReadByte() (byte, error)
Read(p []byte) (n int, err error)