在C ++扑克中排序一手牌

时间:2011-10-20 08:27:24

标签: c++ sorting

我正在做一项涉及创建简化扑克游戏的家庭作业。我是C ++的新手,但这是为了上课,所以我在这里学习。

在我处理每个玩家手形矢量后,如何在打印前对矢量进行排序?它们是用于玩家1的hand1和用于玩家2的hand2的char向量。卡片也是字符的向量,但是rank数组是一个字符串(因此数字{{1} } print),而suit数组是一个char(这样实际的符号打印)。而不是打印:10它将打印:8<heart>, 3<club>, A<spade>, 4<spade>, 9 <diamond>, 8<club>, 2<club>,

我希望这是足够的信息。如果您想查看它,我可以发送我的代码。没有指针,没有课程。我还没达到那个水平(除非没有其他方法可以做我要求的)。我可以在下一节课中改进这个项目。

3 个答案:

答案 0 :(得分:4)

std :: sort怎么样。

对矢量进行排序。

std::sort(hand.begin(), hand.end());

请参阅:http://www.sgi.com/tech/stl/sort.html

答案 1 :(得分:3)

答案 2 :(得分:1)

一个想法是为每张卡创建一个struct

struct card {
   char textRepresentation; // 2, 3, A, J
   int  color; // any code..

   int  sortOrder; // a number describing the position in a sorted order
   // you can also include the color here somehow
};

然后你可以轻松地对这些卡片进行排序..