The Gateway to Computer Science Excellence
First time here? Checkout the FAQ!
x
+14 votes
1.2k views
  1. Let $p$ be a pointer as shown in the figure in a single linked list.

                                                                     
    What do the following assignment statements achieve?
     

    q: = p -> next
    p -> next:= q -> next
    q -> next:=(q -> next) -> next
    (p -> next) -> next:= q
asked in DS by Veteran (59.7k points)
edited by | 1.2k views

4 Answers

+26 votes
Best answer
Swaps the two nodes next to $p$ in the linked list.
answered by Veteran (370k points)
edited by
+5

1)

2)

3)

+8 votes
Assuming p is "i" th node. It swaps "i+1" th & "i+2" th node.

How to solve this question :-> Instead of using arrows, try writing address in pointer location , as computer would store, then solving linked list questions like this becomes easy..
answered by Boss (43.2k points)
+6 votes

It is swapping the 2nd and 3rd element of a Linked List.(i.e. if we consider that p points to first node)

#include <stdio.h>
struct node{
    int data;
    struct node *next;
};
struct node *head = NULL;
struct node *temp;
void insert(int item){
    struct node *p = (struct node*)malloc(sizeof(struct node));
    p->data = item;
    if(head == NULL){
        head = p;
        temp = p;
    }
    else{
        temp->next = p;
        temp = p;
    }
}
void display(struct node *t){
    struct node *r = t;
    while(r){
        printf("%d",r->data);
        r = r->next;
    }
}
void modify(struct node *p){
    struct node *q;
    q = p -> next;
    p -> next= q -> next;
    q -> next=(q -> next) -> next;
    (p -> next) -> next= q;
}
int main(void) {
    insert(1);
    insert(2);
    insert(3);
    insert(4);
    insert(5); 
    insert(6);
    insert(7); 
    insert(8);
    insert(9);  
    modify(head); 
    display(head);
    return 0;  
}  

If input is 123456789, then output will be 132456789

answered by Active (3k points)
0 votes

The following piece of code swap 2nd and 3rd node from list.

answered ago by (43 points)

Related questions



Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true

44,492 questions
49,943 answers
165,712 comments
65,911 users