notes:data:spring2024:projects:waq0
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | Last revisionBoth sides next revision | ||
notes:data:spring2024:projects:waq0 [2024/04/16 13:42] – [Doubly Linked Queue] rspringe | notes:data:spring2024:projects:waq0 [2024/04/16 13:53] – [Function to Create a Queue] rspringe | ||
---|---|---|---|
Line 15: | Line 15: | ||
nextElement pointer to next Obj in queue | nextElement pointer to next Obj in queue | ||
- | struct Queue: | + | struct/ |
firstElement pointer to bottom of queue | firstElement pointer to bottom of queue | ||
lastElement pointer to top of queue | lastElement pointer to top of queue | ||
+ | Initialize prevObj | ||
+ | Initialize nextObj | ||
+ | add function (Obj* obj): | ||
+ | Set prevObj and nextObj to obj's previous element and next element, respectively | ||
+ | | ||
+ | if queue is empty: | ||
+ | Set queue' | ||
+ | Set obj's prev element to NULL | ||
+ | | ||
+ | else: | ||
+ | Set obj's previous element to queue' | ||
+ | Set queue' | ||
+ | Set queue' | ||
+ | |||
+ | Set obj's next element to NULL | ||
+ | | ||
+ | Point prevObj and nextObj to each other | ||
+ | | ||
+ | remove function: | ||
+ | Grab queue' | ||
+ | Set nextObj to this obj's next element (second in queue) | ||
+ | | ||
+ | Set queue' | ||
+ | Set nextObj' | ||
+ | Set obj's next element to NULL | ||
+ | | ||
+ | return obj | ||
+ | | ||
+ | Main Code: | ||
+ | Initialize Queue | ||
+ | | ||
+ | Initialize elements | ||
+ | | ||
+ | Use add and remove functions throughout code | ||
+ | | ||
</ | </ |
notes/data/spring2024/projects/waq0.txt · Last modified: 2024/04/16 14:00 by rspringe