On most cruise lines you can just request one from your cabin steward. The "Egg crate" type is what they have.
I will have to say that the mattresses on most ships have greatly improved in the last few years. On NCL I always requested one because their beds were horrid. Especially on the Sky, Star and Dawn. Then again, the ships are newer now so it could be that I'm just sleeping on less worn mattresses.
Take care,
Mike