soldier* rearrange_circle(soldier* head) Clang version 7.U.u-ɔ~uDuntuv.18.04.1 { soldier *current, *temp1, *temp2, *ptr; temp1 = NULL; > clang-7 -pthread -lm -o main main.c > . /main Enter numbers of soldiers and k: 5 2 current = head; Traversal in forward direction 5 4 3 2 1 do Traversal in forward direction { 5 1 2 3 4 temp2 = current->next; current->next = current->prev; current->prev = current; current = temp2; tail = tail->prev; }while (current != head); head = head->next; tail = current; return head; free(current);
soldier* rearrange_circle(soldier* head) Clang version 7.U.u-ɔ~uDuntuv.18.04.1 { soldier *current, *temp1, *temp2, *ptr; temp1 = NULL; > clang-7 -pthread -lm -o main main.c > . /main Enter numbers of soldiers and k: 5 2 current = head; Traversal in forward direction 5 4 3 2 1 do Traversal in forward direction { 5 1 2 3 4 temp2 = current->next; current->next = current->prev; current->prev = current; current = temp2; tail = tail->prev; }while (current != head); head = head->next; tail = current; return head; free(current);
Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
Related questions
Question
100%
I'm utilizing a doubly circular linked list to manipulate/display nodes.
In this specific function I am trying to reverse the nodes; however, the first node doesn't properly switch and I cannot figure out as to why. I thought the head and tail pointers must've been misplaced but they seem to be doing their jobs
Code in C:
//node for reference
typedef struct node
{
int data;
struct node *prev, *next;
} soldier;
soldier *head, *tail;
//function that reverses ll
soldier* rearrange_circle(soldier* head)
{
soldier *current, *temp2;
current = head;
do
{
temp2 = current->next;
current->next = current->prev;
current->prev = current;
current = temp2;
tail = tail->prev;
}while(current != head);
head = head->next;
tail = current;
return head;
free(current);
}
Any help as to what might be the problem would be gladly be appreciated.

Transcribed Image Text:soldier* rearrange_circle(soldier* head)
Clang version 7.U.u-ɔ~uDuntuv.18.04.1
{
soldier *current, *temp1, *temp2, *ptr;
temp1 = NULL;
> clang-7 -pthread -lm -o main main.c
> . /main
Enter numbers of soldiers and k: 5 2
current = head;
Traversal in forward direction
5 4 3 2 1
do
Traversal in forward direction
{
5 1 2 3 4
temp2 = current->next;
current->next = current->prev;
current->prev = current;
current = temp2;
tail = tail->prev;
}while (current != head);
head = head->next;
tail = current;
return head;
free(current);
Expert Solution

This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution!
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 1 images

Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Recommended textbooks for you

Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education

Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON

Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education

Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON

C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON

Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning

Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education