###
Spring Cloud / Alibaba 微服务架构实战
链接:https://pan.baidu.com/s/1qZ3sOhvOb0pyUiB9UKEDfg
提取码:ok3o
--来自百度网盘超级会员V4的分享
//程序入口
func main() {
//flag包快迅解析命令行參數的
flag.Parse()
ifinfile != nil {
fmt.Println("infile =", infile, "outfile =", outfile, "algorithm =",
*algorithm)
}
values, err := readValues(*infile)
iferr == nil {
t1 := time.Now()
switch *algorithm {
case "qsort":
qsort.QuickSort(values)
case "bubblesort":
bubblesort.BubbleSort(values)
default:
fmt.Println("Sorting algorithm", *algorithm, "is either unknown or unsupported.")
}
t2 := time.Now()
fmt.Println("The sorting process costs", t2.Sub(t1), "to complete.")
writeValues(values, *outfile)
} else {
fmt.Println(err)
}
}
qsort.go
// qsort_test.go
package qsort
import "testing"
func TestQuickSort1(t *testing.T) {
values := []int{5, 4, 3, 2, 1}
QuickSort(values)
if values[0] != 1 || values[1] != 2 || values[2] != 3 || values[3] != 4 ||
values[4] !=5 {
t.Error("QuickSort() failed. Got", values, "Expected 1 2 3 4 5")
}
}
func TestQuickSort2(t *testing.T) {
values := []int{5, 5, 3, 2, 1}
QuickSort(values)
if values[0] != 1 || values[1] != 2 || values[2] != 3 || values[3] != 5 ||
values[4] !=5 {
t.Error("QuickSort() failed. Got", values, "Expected 1 2 3 5 5")
}
}
func TestQuickSort3(t *testing.T) {
values := []int{5}
QuickSort(values)
if values[0] != 5 {
t.Error("QuickSort() failed. Got", values, "Expected 5")
}
}
bubblesort.go
// bubblesort.go
package bubblesort
func BubbleSort(values []int) {
flag := true
fori := 0; i <len(values) - 1; i ++ {
flag = true
forj := 0; j <len(values) - i - 1; j++ {
ifvalues[j] > values[j + 1] {
values[j], values[j + 1] = values[j + 1], values[j]
flag = false
} // end if
} // end for j = ...
ifflag == true {
break
}
} // end for i = ...
}
qsort_test.go:
// qsort_test.go
package qsort
import "testing"
func TestQuickSort1(t *testing.T) {
values := []int{5, 4, 3, 2, 1}
QuickSort(values)
if values[0] != 1 || values[1] != 2 || values[2] != 3 || values[3] != 4 ||
values[4] !=5 {
t.Error("QuickSort() failed. Got", values, "Expected 1 2 3 4 5")
}
}
func TestQuickSort2(t *testing.T) {
values := []int{5, 5, 3, 2, 1}
QuickSort(values)
if values[0] != 1 || values[1] != 2 || values[2] != 3 || values[3] != 5 ||
values[4] !=5 {
t.Error("QuickSort() failed. Got", values, "Expected 1 2 3 5 5")
}
}