Extracted bitmap_sort function

master
Abhinav Sarkar 2012-05-31 21:25:00 +05:30
parent 402d641f64
commit 33fceb73d9
1 changed files with 10 additions and 9 deletions

View File

@ -1,15 +1,16 @@
from bitarray import bitarray
def bitmap_sort(nums, n):
arr = (n + 1) * bitarray('0')
for num in nums:
arr[num] = 1
return (i for (i, bit) in enumerate(arr) if bit)
if __name__ == '__main__':
import sys
n = int(sys.argv[1])
arr = (n + 1) * bitarray('0')
nums = (int(line) for line in sys.stdin)
for line in sys.stdin:
num = int(line)
arr[num] = 1
for (i, bit) in enumerate(arr):
if bit:
print i
for i in bitmap_sort(nums, n):
print i