1.将数分为n个组,每组m个数
2.每组进行排序,比较m次后得到结果
如下
a1>a2>....>am
b1>b2>....>bm
c1>c2>....>cm
.
.
.
m1>m2>.....mm
3.将a1,b1,c1,....m1进行比较,这样可以得出最大的一个数
4.将得到最大数从组中剔除,然后取同组下一个数
例如:这里得出的最大数是b1(最大的数),那么就取b2
5.将取得下同组下一个数与其它组的最大数比较,得出第二大的数
例如:将a1,b2,c1,....m1进行比较,得出第二大的数
6.循环第4和第5步进行,在进行了m次比较后就能得出最大的m个数了
7.这样在第二步时候比较m次,在第6步中比较m次,一共需要2*m次就可以得出最大的m个数
了
2.每组进行排序,比较m次后得到结果
如下
a1>a2>....>am
b1>b2>....>bm
c1>c2>....>cm
.
.
.
m1>m2>.....mm
3.将a1,b1,c1,....m1进行比较,这样可以得出最大的一个数
4.将得到最大数从组中剔除,然后取同组下一个数
例如:这里得出的最大数是b1(最大的数),那么就取b2
5.将取得下同组下一个数与其它组的最大数比较,得出第二大的数
例如:将a1,b2,c1,....m1进行比较,得出第二大的数
6.循环第4和第5步进行,在进行了m次比较后就能得出最大的m个数了
7.这样在第二步时候比较m次,在第6步中比较m次,一共需要2*m次就可以得出最大的m个数
了