⚠ Deprecated: Legacy, CriticalBugs
This version actually never worked. I'm disappointed I didn't try it first
Suggested alternative: ExpandedLists
This package aims to offer a variety of lists with many more methods and operators than the default implementations. This version contains only two actual lists, more will be added in the future.
$ dotnet add package jmpp.expanded-listsExpanded Lists, antes ListaBloques Remake es una biblioteca de estructuras de datos, por ahora solo listas, en C# que ofrecen más métodos que las implementaciones del lenguaje. Intento que mantengan un buen rendimineto, pero aún no he hecho pruebas de redimiento. Ha sido traducida a inglés para que sea más accesible porque dudo mucho que nadie vaya a usarla en español.
La parte más importante de esta versión, y uno de los motivos para crear este repositorio, es ListBloques.
Una lista que usa arrays y Bloques* para ofrecer los beneficios de un array y una lista enlazada.
Usa Lists para guardar los bloques y las posiciones que representan en la lista para agilizar el acceso a los elementos respecto a las listas enlazadas y usa los bloques para que la lista esté contenida en trozos de memoria separados como las listas enlazadas.
Se le puede proporcionar una función para obtener longitudes para bloques nuevos y gestionar así la memoria usada, longitudes distintas darán rendimientos distintos.
Tiene una jerarquía de interfaces, permitiendo la creación de listas con métodos y propiedades distintos.
Además incluye ListSerie, usa un List para implementar la interfaz ISerie, que permite usar funciones para generar nuevos elementos e insertarlos.
En esta versión el proyecto ha sido traducido al inglés, lo he traducio yo, por lo que puede haber errores. He aprovechado para cambiar clases y métodos mal nombrados, como ISerie, que representa una sucesión en lugar de una serie y, por lo tanto, ahora se llama ISequence.
Expanded Lists, previously ListaBloques Remake is a C# data structures library, currently only containing lists. These lists offer more methods than the implementations of System.Collections. While I try to ensure efficiency, I still have not performed performance tests. This library was previosuly in Spanish.
Mostly the same as 0.1, ignoring the translation almost of the entire library.
The most important feature from 0.1, and the reason I considered publishing this library, is BlockList.
A list that uses Blocks* to offer the benefits from both array lists and linked lists.
Uses Lists to store blocks and the positions of their first elements for faster random access than linked lists and uses block for better memory management than regular array lists.
Can be given a function to get lengths for new blocks, this can be used to manage memory usage, different block lengths will have different performances.
Features an interface hierarchy, allowing for the creation of lists with different methods and properties.
Also includes ListSequence, which delegates its methods to a List. Can be given a name , this makes its ToString() return a string with the index for each element.