Mira el solo echo de programar listas ya sea simples o dobles,es una tarea algo compleja, no creo que busques el codigo completo para lo que quieres, pero si tienes dudas en algo especifico de tu tarea pues creo que facilitaras la tarea. NO deseo hacerte sentir mal, solo que entiendas que tu pregunta es muy abierta y el objetivo muy complejo.
Si has programado ya listas enlazadas, creo que te diste cuenta de lo complejo que estan desde mi punto de vista. Espero no te desanimes, empieza a hacerlo y si tienes dudas y puedo ayudarte lo hare con mucho gusto, ok.