Justin here, I've been recently re-learning C, and to practice with structs I've written a bunch of different abstract data type implementations. A few of them I have implemented in different ways (for example, single linked double linked). Anyway, I know there have been quite a few times when I was just looking for a simple implementation of an ADT when I was learning about these in one of my Comp. Sci classes, so this is for anybody out there who needs these for learning purposes. If you need to use these data types in an actual production application you should probably keep looking as these implementations haven't been production tested to make sure I covered every possible event they would handle and they may cause issues.