您的位置:首页 > 编程语言

从一个数组里面获取最大的几个数字代码实现

2016-08-09 18:35 369 查看

从一个数组里面获取最大的n个

算法思路

首先获取前n个数字,进行排序,之后遍历原数组,与新数组中最小的进行比较,如果大于新数组中的最小值,则进行替换,并将新数组再次排序,一次类推

go语言实现

package main

import (
"fmt"
"sort"
)

func main() {
var i int
a := []int{2, 4, 15, 6, 57, 8, 9, 23, 2, 43, 4352, 56, 1, 1, 234, 124543, 45, 656, 67, 878, 34}
b := a[0:5]
sort.Ints(b)
for i = 5; i < len(a); i++ {
if a[i] > b[0] {
b[0] = a[i]
sort.Ints(b)
}
}
fmt.Println(b)
return
}


python语言实现

1 import sys
2 import os
3
4 def sort_array(a):
5     b = a[0:5]
6     b.sort()
7     for i in a[5:]:
8         if i > b[0]:
9             b[0] = i
10             b.sort()
11     print(b)
12
13     return
14
15 a = [2,4,8,123,345,567,734,23,6,11,6746,6]
16 sort_array(a)


http://blog.csdn.net/libinbin_1014/article/details/52165244
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  go语言 算法 遍历