Tell how to check whether a linked list is circular.
Submitted by: AdministratorCreate two pointers, each set to the start of the list. Update each as follows:
while (pointer1) {
pointer1 = pointer1->next;
pointer2 = pointer2->next; if (pointer2) pointer2=pointer2->next;
if (pointer1 == pointer2) {
print ("circularn");
}
}
OK, why does this work?
If a list is circular, at some point pointer2 will wrap around and be either at the item just before pointer1, or the item before that. Either way, it's either 1 or 2 jumps until they meet.
Submitted by: Administrator
while (pointer1) {
pointer1 = pointer1->next;
pointer2 = pointer2->next; if (pointer2) pointer2=pointer2->next;
if (pointer1 == pointer2) {
print ("circularn");
}
}
OK, why does this work?
If a list is circular, at some point pointer2 will wrap around and be either at the item just before pointer1, or the item before that. Either way, it's either 1 or 2 jumps until they meet.
Submitted by: Administrator
Read Online C++ Programming Job Interview Questions And Answers
Top C++ Programming Questions
☺ | What does extern mean in a function declaration in C++? |
☺ | Write a short code using C++ to print out all odd number from 1 to 100 using a for loop |
☺ | What is C++? |
☺ | How many ways are there to initialize an int with a constant? |
☺ | Explain the ISA and HASA class relationships. How would you implement each in a class design? |
Top Coding/Programming Categories
☺ | Python Interview Questions. |
☺ | OOP Interview Questions. |
☺ | Software engineering Interview Questions. |
☺ | PHP Interview Questions. |
☺ | VBA (Visual Basic for Applications) Interview Questions. |