Create an application that uses a circular linked list

Assignment Help Basic Computer Science
Reference no: EM131243268

The Josephus Problem is a famous mathematical puzzle that goes back to ancient times. There are many stories to go with the puzzle. One is that Josephus was one of a group of Jews who were about to be captured by the Romans. Rather than be enslaved, they chose to commit suicide. They arranged themselves in a circle and, starting at a certain person, started counting off around the circle. Every nth person had to leave the circle and commit suicide. Josephus decided he didn't want to die, so he arranged the rules so he would be the last person left. If there were (say) 20 people, and he was the seventh person from the start of the circle, what number should he tell them to use for counting off? The problem is made much more complicated because the circle shrinks as the counting continues. Create an application that uses a circular linked list (like that in Programming Project 5.3) to model this problem. Inputs are the number of people in the circle, the number used for counting off, and the number of the person where counting starts (usually 1). The output is the list of persons being eliminated. When a person drops out of the circle, counting starts again from the person who was on his left (assuming you go around clockwise). Here's an example. There are seven people numbered 1 through 7, and you start at 1 and count off by threes. People will be eliminated in the order 4, 1, 6, 5, 7, 3. Number 2 will be left.

Project 5.3

A circular list is a linked list in which the last link points back to the first link. There are many ways to design a circular list. Sometimes there is a pointer to the "start" of the list. However, this makes the list less like a real circle and more like an ordinary list that has its end attached to its beginning. Make a class for a singly linked circular list that has no end and no beginning. The only access to the list is a single reference, current, that can point to any link on the list. This reference can move around the list as needed. (See Programming Project 5.5 for a situation in which such a circular list is ideally suited.) Your list should handle insertion, searching, and deletion. You may find it convenient if these operations take place one link downstream of the link pointed to by current. (Because the upstream link is singly linked, you can't get at it without going all the way around the circle.) You should also be able to display the list (although you'll need to break the circle at some arbitrary point to print it on the screen). A step() method that moves current along to the next link might come in handy too.

Reference no: EM131243268

Questions Cloud

Write down the payoff table and draw the payoff diagram : Write down the payoff table and draw the payoff diagram of a portfolio consisting of 1 call option with a strike price K of $60 and 1 put option with a strike price K of $80.
Compare these speeds with those of the sorts : Modify the shellSort.java (Listing 7.1) and the quickSort3.java (Listing 7.5) programs to sort appropriately large arrays, and compare their speeds. Also, compare these speeds with those of the sorts in Chapter 3.
Recommend an approach for resolving the conflict : Consider a conflict that you or someone that you know is currently experiencing at work. Using the conflict process and ethical consideration discussed in the text, recommend an approach for resolving the conflict.
Elasticity of demand for the grapefruit : Rolf's Supermarkets now sell 12,000 lbs. of grapefruit per week at a price of $0.45 per pound. An economist has reported to management that the arc elasticity of demand for the grapefruit over the price range $0.45 to $0.35 per pound is -2.0.
Create an application that uses a circular linked list : You should also be able to display the list (although you'll need to break the circle at some arbitrary point to print it on the screen). A step() method that moves current along to the next link might come in handy too.
What level of q maximizes net benefits : a. What level of Q maximizes net benefits (profits)? b. What is the maximum level of net benefits (profits)?
Evaluate the communication skills that the staff will need : GBE803 Enterprise Information Communications Assignment. Identify and critically evaluate the communication skills that the staff will need to utilise in order to overcome these barriers. Identify three technological communication tools that could ..
Find the equilibrium price and quantity : where P is the price (in dollars) per burrito and Qd  and Qs are quantities (in millions) demanded and supplied respectively.  Find the equilibrium price and quantity that will prevail in the market.  At a price of $5, would there be a surplus or ..
Explore how would you describe your communication style : What is one of the greatest leadership challenges you have ever faced? What did you do? What was the result? How would you describe your communication style?

Reviews

Write a Review

Basic Computer Science Questions & Answers

  Identifies the cost of computer

identifies the cost of computer components to configure a computer system (including all peripheral devices where needed) for use in one of the following four situations:

  Input devices

Compare how the gestures data is generated and represented for interpretation in each of the following input devices. In your comparison, consider the data formats (radio waves, electrical signal, sound, etc.), device drivers, operating systems suppo..

  Cores on computer systems

Assignment : Cores on Computer Systems:  Differentiate between multiprocessor systems and many-core systems in terms of power efficiency, cost benefit analysis, instructions processing efficiency, and packaging form factors.

  Prepare an annual budget in an excel spreadsheet

Prepare working solutions in Excel that will manage the annual budget

  Write a research paper in relation to a software design

Research paper in relation to a Software Design related topic

  Describe the forest, domain, ou, and trust configuration

Describe the forest, domain, OU, and trust configuration for Bluesky. Include a chart or diagram of the current configuration. Currently Bluesky has a single domain and default OU structure.

  Construct a truth table for the boolean expression

Construct a truth table for the Boolean expressions ABC + A'B'C' ABC + AB'C' + A'B'C' A(BC' + B'C)

  Evaluate the cost of materials

Evaluate the cost of materials

  The marie simulator

Depending on how comfortable you are with using the MARIE simulator after reading

  What is the main advantage of using master pages

What is the main advantage of using master pages. Explain the purpose and advantage of using styles.

  Describe the three fundamental models of distributed systems

Explain the two approaches to packet delivery by the network layer in Distributed Systems. Describe the three fundamental models of Distributed Systems

  Distinguish between caching and buffering

Distinguish between caching and buffering The failure model defines the ways in which failure may occur in order to provide an understanding of the effects of failure. Give one type of failure with a brief description of the failure

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd