Inserting Nodes After Q: Let's Double Check!

  • Context:
  • Thread starter Thread starter evinda
  • Start date Start date
  • Tags Tags
    Nodes
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
4 replies · 2K views
evinda
Gold Member
MHB
Messages
3,741
Reaction score
0
Hi! (Smirk)

According to my notes, if we want to insert a node pointed to by P just after node poited to by Q, we have to do the following changements:

$$\begin{pmatrix}
P->prev\\
P->next\\
Q->next\\
Q->next->prev
\end{pmatrix} \leftarrow
\begin{pmatrix}
Q\\
Q->next\\
P\\
P
\end{pmatrix}$$

Shouldn't it be $\rightarrow$ ? :confused:

Also, shouldn't we first change [m]Q->next->prev[/m] and then [m]Q->next[/m]?

Or am I wrong? (Worried)
 
Physics news on Phys.org
evinda said:
Hi! (Smirk)

According to my notes, if we want to insert a node pointed to by P just after node poited to by Q, we have to do the following changements:

$$\begin{pmatrix}
P->prev\\
P->next\\
Q->next\\
Q->next->prev
\end{pmatrix} \leftarrow
\begin{pmatrix}
Q\\
Q->next\\
P\\
P
\end{pmatrix}$$

Shouldn't it be $\rightarrow$ ? :confused:

Also, shouldn't we first change [m]Q->next->prev[/m] and then [m]Q->next[/m]?

Or am I wrong? (Worried)

Hey! (Wave)

The symbol $\leftarrow$ means simultaneous assignment.
It means that we do for instance: [m]P->prev = Q;[/m]. (Smirk)

Since the assignment is simultaneous, the order is not relevant.
You may interpret it as if the right hand values are first copied to 4 temporary variables, and then those 4 temporary variables are copied to the left hand variables. (Nerd)
 
I like Serena said:
Hey! (Wave)

The symbol $\leftarrow$ means simultaneous assignment.
It means that we do for instance: [m]P->prev = Q;[/m]. (Smirk)

Since the assignment is simultaneous, the order is not relevant.
You may interpret it as if the right hand values are first copied to 4 temporary variables, and then those 4 temporary variables are copied to the left hand variables. (Nerd)

A ok... (Nod) But, when we write an algorithm, we have to change firstly [m]Q->next->prev[/m] and then [m]Q->next[/m], right? (Thinking)
 
evinda said:
A ok... (Nod) But, when we write an algorithm, we have to change firstly [m]Q->next->prev[/m] and then [m]Q->next[/m], right? (Thinking)

That is only necessary when you write in an actual programming language like C.
In an "algorithm" you can use this notation for simultaneous assignment. (Nod)
 
I like Serena said:
That is only necessary when you write in an actual programming language like C.
In an "algorithm" you can use this notation for simultaneous assignment. (Nod)

I understand... Thank you! (Smile)