algorithm and data struct (c)