MCPcopy
hub / github.com/pingc0y/URLFinder / SelectSort

Function SelectSort

util/utils.go:37–65  ·  view source on GitHub ↗

对结果进行状态码排序

(arr []mode.Link)

Source from the content-addressed store, hash-verified

35
36// 对结果进行状态码排序
37func SelectSort(arr []mode.Link) []mode.Link {
38 length := len(arr)
39 var sort []int
40 for _, v := range arr {
41 if v.Url == "" || len(v.Size) == 0 || v.Status == "timeout" {
42 sort = append(sort, 999)
43 } else {
44 in, _ := strconv.Atoi(v.Status)
45 sort = append(sort, in)
46 }
47 }
48 if length <= 1 {
49 return arr
50 } else {
51 for i := 0; i < length-1; i++ { //只剩一个元素不需要索引
52 min := i //标记索引
53 for j := i + 1; j < length; j++ { //每次选出一个极小值
54 if sort[min] > sort[j] {
55 min = j //保存极小值的索引
56 }
57 }
58 if i != min {
59 sort[i], sort[min] = sort[min], sort[i] //数据交换
60 arr[i], arr[min] = arr[min], arr[i] //数据交换
61 }
62 }
63 return arr
64 }
65}
66
67// 对结果进行URL排序
68func UrlDispose(arr []mode.Link, url, host string) ([]mode.Link, []mode.Link) {

Callers 4

OutFileCsvFunction · 0.92
OutFileJsonFunction · 0.92
OutFileHtmlFunction · 0.92
PrintFunction · 0.92

Calls

no outgoing calls

Tested by

no test coverage detected