Order posts using a custom array

You would need to build your own query and pass it to query_posts i.e.

if your array of post ids is:

array (10,21,1)   // corresponding to post ids. 

then you can query this way:

select * from wp_posts where `ID` in (10, 21, 2)
order by field(ID,10,21,2)

This will give you a result set in the order of your post ids array.

HTH