Implemente uma lista encadeada de inteiros, utilizando alocação dinâmica de memória, com as seguintes operações:
- Criação da lista vazia;
- Verificar se a lista está vazia;
- Obter o tamanho da lista;
- Obter/modificar o valor do elemento de uma determinada posição na lista;
- Inserir um elemento em uma determinada posição;
- Retirar um elemento de uma determinada posição.
- Imprimir os elementos de toda a lista.