看見一道排序題,練練手。

2021-06-09 13:51:26 字數 590 閱讀 4947

(程式設計題)

100萬個資料,資料值在

0~65535

之間,請用盡可能少的記憶體和最快的速度從小到大排序(

10分)

#!perl -w

use strict;

my @arraydata = (1,2,2,5,6,3,55,555,33,22,33,78,545,23,2,2,234,234,234,7,90,23,234,34,2,775,65);

&sort(@arraydata);

my @temparray;

sub sort()

else}}

my $number = $#temparray;

#print "$number:  @temparray \n";

my $numberindex = 0;

for(;$numberindex<$number;$numberindex++)

}if (defined ($temparray[$numberindex]) && $temparray[$numberindex]>1)

if (defined ($temparray[$numberindex]))

一道部分排序題

題目 時間限制 4000ms 給你n個整數,請按從大到小的順序輸出其中前m大的數。input 每組測試資料有兩行,第一行有兩個數 n,m 0 n,m 4000000 第二行包含n個各不相同,且都處於區間 2000000,2000000 的整數。output 對每組測試資料按從大到小的順序輸出前m大的...

一道關於排序的演算法題

題目 給定乙個無序陣列a,一直這個陣列a中的任意乙個元素所在的位置離其最終排序後的位置相差的距離不會超過k。即排序前a i 在位置i,那麼在排序後該元素的位置會在 i k,i k 這個範圍內。現在要求給出乙個演算法使得演算法盡量高校。解析 這裡就不多說了,直接給自己的解法吧。利用乙個大小為k 1的最...

每日一道演算法題 奇偶排序

題目 在乙個n個整數陣列裡面,有多個奇數和偶數,設計乙個演算法,令所有的奇數都在偶數左邊。解題思路 想到的第乙個思路是定義兩個指標,第乙個指標p指向陣列的第乙個元素,第二個指標q指向陣列的最後乙個元素,然後讓p向後遍歷,讓q向前遍歷,直到p找到第乙個偶數,q找到第乙個奇數,交換兩個元素,繼續讓兩個指...