2016 - 2024

感恩一路有你

java数组排序从小到大 一道java面试题,20亿数字的文本排序,如何取前100?

浏览量:1408 时间:2021-04-08 13:44:51 作者:admin

一道java面试题,20亿数字的文本排序,如何取前100?

因为这是一个Java问题,所以这是典型的TOPK问题。首先取前100个数字构建一个最小堆,然后依次从堆的顶部插入剩余的数字,同时调整堆。堆中最后100个元素就是结果。空间复杂度为k,时间复杂度为nlogk

private sub form_uuuclick()

dim a(1到10)as integer

对于I=1到10

a(I)=InputBox(“please input”

next I

对于I=10到2 step-1,剩余的排序数据变量I定义了要在开头搜索的所有数据,即10。每个循环得到剩余数据的极值。最大值或最小值由下列替换条件确定

对于J=1到I-1“剩余数据内部查询变量J,所有数据都通过该变量进行搜索。

如果a(J)> a(J 1),则“?替换条件,这里是当前者大于后者时的替换条件,它们都是从小到大排序的

temp=a(j 1)“?更换开始

a(j 1)=a(j)

a(j)=温度“?替换结束

结束if

下一个J

下一个I

对于I=1到10

打印一个(I)“”?打印出排序后的数据并用空格隔开。

下一个我

结束

java数组排序从小到大 java三个数的排序常用方法 对十个数进行排序java

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。