This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
notes:data:fall2023:projects:ttb1 [2023/09/16 20:46] – [REMOVING A NODE FROM THE LIST] jwieland | notes:data:fall2023:projects:ttb1 [2023/09/16 20:50] (current) – [REMOVING A NODE FROM THE LIST] jwieland | ||
---|---|---|---|
Line 69: | Line 69: | ||
=====REMOVING A NODE FROM THE LIST===== | =====REMOVING A NODE FROM THE LIST===== | ||
- | One of the ways to delete a specific Node from a linked list is to create a function that searches for the node by its properties (e.g. x, and y) and then removes it. the psudo-code would look something like this. | + | One of the ways to delete a specific Node from a linked list is to create a function that searches for the node by its properties (e.g. x, and y) and then removes it. The psudo-code would look something like this. |
- | < | + | < |
- | | + | |
- | | + | |
- | | + | |
while(current!=NULL){ | while(current!=NULL){ | ||
if (current_node-> | if (current_node-> | ||
if(previous==NULL){ | if(previous==NULL){ | ||
- | node we want to delete from the list is the first node in the list | + | |
*start-of-list =current-> | *start-of-list =current-> | ||
} else{ | } else{ | ||
- | set the previous node's pointer to the current node's pointer | + | |
} | } | ||
free(current) | free(current) | ||
Line 91: | Line 91: | ||
} | } | ||
} | } | ||
- | | ||
</ | </ | ||
+ | |||
+ | In essence we are itterating through the different nodes, and checking if they are the node we want to delete. Make sure to have a catch case for the first node in the list. | ||
====AT THE START OF LIST==== | ====AT THE START OF LIST==== | ||