Solved

Data structure for a deck of cards

Posted on 2011-03-01
5
827 Views
Last Modified: 2012-06-21
I am wondering if a stack would be the best data structure for a deck of cards.
The operations are addToDeck(), removeFromDeck() and shuffle().

Pleas let me know. Thanks!
0
Comment
Question by:dshrenik
  • 2
  • 2
5 Comments
 
LVL 47

Accepted Solution

by:
for_yan earned 500 total points
ID: 35014087
But probably in most operations you'll want to fetch the arbitrary
card from the deck - you'll not want first-in-first-out operations, so
maybe you'll not want to use Stack

Perhaps after all array will be better:

http://www.dreamincode.net/forums/topic/110380-deck-of-cards-using-various-methods/
0
 
LVL 84

Expert Comment

by:ozo
ID: 35014224
what do the operations addToDeck(), removeFromDeck() and shuffle() do?
what information does the deck contain?
0
 

Author Comment

by:dshrenik
ID: 35014231
addToDeck adds a card to the deck. removeFromDeck removes a card from the deck.
The deck is just a collection of orders in a particular order.
0
 
LVL 84

Expert Comment

by:ozo
ID: 35014338
When addToDeck adds a card, would it be the first card removed by removeFromDeck?
Would it be the last card removed by removeFromDeck?
Does addToDeck specify the value of the card to be added?
Does it specify the position in the deck where it is to be added?
Does removeFromDeck specify the value of the card to be removed?
Does it specify a position in the deck where a card is to be removed?
Does it remove the lowest value?  The highest value? Does it remove a random value?
When it removes a card from the deck, does it report what card was removed?
Does it report how many cards remain?
What happens if you try to remove from an empty deck?
What happens if you try to add a card that is already in the deck?
Would we be guaranteed that that never happens?

The answers to these questions should give you a better idea what would be the best data structure.
You might also consider:
Would calls to addToDeck and  removeFromDeck tend to alternate?
Would they tend to cluster?
How often is  shuffle() called compared to how often addToDeck and  removeFromDeck are called?
How many times can addToDeck be called?
How many decks can there be?
How hard should it be to predict the order after a shuffle()?


0
 

Author Comment

by:dshrenik
ID: 35014652
Thank you!
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

For beginner Java programmers or at least those new to the Eclipse IDE, the following tutorial will show some (four) ways in which you can import your Java projects to your Eclipse workbench. Introduction While learning Java can be done with…
Summary: This tutorial covers some basics of pointer, pointer arithmetic and function pointer. What is a pointer: A pointer is a variable which holds an address. This address might be address of another variable/address of devices/address of fu…
The viewer will learn how to user default arguments when defining functions. This method of defining functions will be contrasted with the non-default-argument of defining functions.
The viewer will be introduced to the member functions push_back and pop_back of the vector class. The video will teach the difference between the two as well as how to use each one along with its functionality.

713 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question