Solved

Data structure for a deck of cards

Posted on 2011-03-01
5
754 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

Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Introduction Java can be integrated with native programs using an interface called JNI(Java Native Interface). Native programs are programs which can directly run on the processor. JNI is simply a naming and calling convention so that the JVM (Java…
Java Flight Recorder and Java Mission Control together create a complete tool chain to continuously collect low level and detailed runtime information enabling after-the-fact incident analysis. Java Flight Recorder is a profiling and event collectio…
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …
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.

747 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

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now