5

Legal, gosto desse tipo de postagem e a conclusão é a melhor parte. Só farei algumas ressalvas para que as pessoas não saiam usando linked lists sem entender bem o problema.

C tem generics. Muitas pessoas não usam para poder compilar em qualquer versão, o que pode ser uma característica desejável pelo projeto ou pode ser apenas forçado. No kernel do Linux realmente não dá para usar. Em algum outro kernel hipotético poderia usar. Não estou dizendo que é a melhor solução sempre.

Cada elemento sabe onde está o próximo. Isso permite inserir e remover elementos sem realocar um bloco inteiro de memória.

Até que ele não saiba onde está. Novamente não é o caso do exemplo citado, claro, mas muitas pessoas usam listas ligadas onde não pode, porque se não souber onde está, é trágico achar onde fará a manipulação, comparando com array, então pode ser igual ou pior que manipular um array.

Listas ligadas são úteis, não há dúvida, mas elas são menos úteis do que parecem, ou porque precisa de algo com complexidade abaixo de linear, um array por exemplo (talvez com préalocações) ou precisa de algo que uma árvore funciona melhor.

Reforço, claro que no Linux sabem usar.

S2


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente (não vendo nada, é retribuição na minha aposentadoria) (links aqui).

Carregando publicação patrocinada...
1