In this project, you will write a system program called dirtree, which takes a directory name (absolute
path) as a command line argument and prints level, order, and name (absolute path) of all the
files and sub-directories residing in the given directory level by level.
Your program should traverse the disk structure starting from the given directory and build a tree
data structure. The root of the tree will be the given directory and its children will be the files and
sub-directories residing in the given directory. If a child node is a file, then it will be a leaf node; if
a child node is a sub-directory, then it can have zero or more children. Since a node in the tree may
have any number of children, children of a node should be represented as a linked-list.You can build
the tree in a recursive manner.
After building the tree, it should be printed out level by level. First the root node (level one), then
the nodes in level two, then the nodes in level three and so on. In order to print the tree level by level,
you will need to use a queue data structure.
Here is the sample of output: