As a Mom whose kids are now a bit older I will offer some advice not only for the 20 year olds but also for the 40, 50, 60 year olds... A cruise is a great opportunity to practice some new networking skills.
Put yourself out there and say Hi to the person sitting next to you! If your at the pool - say Hey! I'm XYZ from New York-- isn't the weather great??? I was thinking of trying that rock wall wanna go check it out with me?
Many people want to make a friend! And even if they don't what the worse thing that happens? they say no? its not like you will ever see them again right?
If your into Karaoke- maybe suggest trying to get a group of other folks together while you are hanging by the pool and suggest a time for later at night? Or suggest a hot tub meet up? Again be that person to try and wrangle folks!
So maybe discuss this with your kids and make it into a game to try to find friends...