Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Update DynamicArrayQueue.java#1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
RanchCoder wants to merge1 commit intomaster
base:master
Choose a base branch
Loading
fromRanchCoder-patch-1

Conversation

RanchCoder
Copy link
Owner

In this DynamicArrayQueue

  1. When a user is providing capacity for the queue we are not resetting the CAPACITY variable in our constructor function's cap value.
    we are using our CAPACITY variable further in the code to increment rear and front, so if the actual capacity is not taken into account then we can get a wrong index.

The existing code for the expand function is not working for a circular queue scenario.
//This loop wont work for circular case when our rear will be pointing to the same location as that of front , i.e
// queue[5] = {1,2,3,4,5} , now our rear will be at (rear + 1) % CAPACITY
// i.e 0 and loop condition will run only once.
// for(int i = front; i <= rear; i ++)
// newQueue[i-front] = queueRep[i%CAPACITY];

rear = size also has an issue
If we go up till size - 1 then we will be pointing the latest element entered in our queue and not the latest free slot to enter the value rear = size-1. As the size is incremented each time on enqueue and decremented each time at dequeue.

In this DynamicArrayQueue1) When a user is providing capacity for the queue we are not resetting the CAPACITY  variable in our constructor function's cap value.    we are using our CAPACITY variable further in the code to increment rear and front, so if the actual capacity is not taken into account then we can get a wrong index.The existing code for the expand function is not working for a circular queue scenario.//This loop wont work for circular case when our rear will be pointing to the same location as that of front , i.e // queue[5] = {1,2,3,4,5} , now our rear will be at (rear + 1) % CAPACITY// i.e 0 and loop condition will run only once.// for(int i = front; i <= rear; i ++)// newQueue[i-front] = queueRep[i%CAPACITY];rear = size also has an issueIf we go up till size - 1 then we will be pointing the latest element entered in our queue and not the latest free slot to enter the value rear = size-1. As the size is incremented each time on enqueue and decremented each time at dequeue.
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers
No reviews
Assignees
No one assigned
Labels
None yet
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

1 participant
@RanchCoder

[8]ページ先頭

©2009-2025 Movatter.jp