对结果进行状态码排序
(arr []mode.Link)
| 35 | |
| 36 | // 对结果进行状态码排序 |
| 37 | func 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排序 |
| 68 | func UrlDispose(arr []mode.Link, url, host string) ([]mode.Link, []mode.Link) { |
no outgoing calls
no test coverage detected