Clases para Colecciones o Listas

Las colecciones o listas son estructuras de datos fundamentales en la programación que permiten almacenar múltiples elementos del mismo tipo. Cada lenguaje ofrece diferentes implementaciones con sus propias características y sintaxis. Veamos ejemplos detallados de cómo trabajar con estas estructuras en C++, C#, Java y Python, incluyendo las operaciones que mencionas:

C++: std::vector

C++
#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<int> numeros = {1, 3, 5, 2, 4};

    // Cantidad de elementos
    std::cout << "Cantidad de elementos: " << numeros.size() << std::endl;

    // Agregar elemento al final
    numeros.push_back(6);

    // Eliminar el primer elemento
    numeros.erase(numeros.begin());

    // Ordenar de forma ascendente
    std::sort(numeros.begin(), numeros.end());

    // Imprimir elementos
    for (int num : numeros) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    return 0;
}

C#: List<T>

C#
using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main(string[] args)
    {
        List<int> numeros = new List<int>()    { 1, 3, 5, 2, 4 };

        // Cantidad de elementos
        Console.WriteLine("Cantidad de elementos: " + numeros.Count);

        // Agregar elemento al final
        numeros.Add(6);

        // Eliminar el primer elemento
        numeros.RemoveAt(0);

        // Ordenar de forma ascendente
        numeros.Sort();

        // Imprimir elementos
        Console.WriteLine(string.Join(" ", numeros));
    }
}

Java: ArrayList<E>

Java
import java.util.ArrayList;
import java.util.Collections;

public class Main {
    public static void main(String[] args) {
        ArrayList<Integer>    numeros = new ArrayList<>();
        numeros.add(1);
        numeros.add(3);   
        numeros.add(5);
        numeros.add(2);
        numeros.add(4);

        // Cantidad de elementos
        System.out.println("Cantidad de elementos: " + numeros.size());

        // Agregar elemento al final
        numeros.add(6);

        // Eliminar el primer elemento
        numeros.remove(0);

        // Ordenar de forma ascendente
        Collections.sort(numeros);

        // Imprimir elementos
        for (int num : numeros) {
            System.out.print(num + " ");
        }
    }
}

Python: list

Python
numeros = [1, 3, 5, 2, 4]

# Cantidad de elementos
print("Cantidad de elementos:", len(numeros))

# Agregar elemento al final
numeros.append(6)

# Eliminar el primer elemento
del numeros[0]

# Ordenar de forma ascendente
numeros.sort()

# Imprimir elementos
print(*numeros)

Explicación de las operaciones:

  • Cantidad de elementos: Se utiliza size(), Count o len() para obtener el número de elementos en la lista.
  • Agregar elemento: Se utiliza push_back(), Add() o append() para agregar un elemento al final de la lista.
  • Eliminar elemento: Se utiliza erase(), RemoveAt() o del para eliminar un elemento en una posición específica.
  • Ordenar: Se utiliza std::sort(), Sort() o sort() para ordenar los elementos de la lista.
  • Imprimir elementos: Se utiliza un bucle for o la función join() para imprimir los elementos de la lista.

Otras operaciones comunes:

  • Buscar elementos: Se pueden utilizar métodos como find(), IndexOf(), index() para encontrar la posición de un elemento específico.
  • Insertar elementos: Se pueden insertar elementos en una posición específica utilizando métodos como insert(), Insert().
  • Invertir el orden: Se puede invertir el orden de los elementos utilizando métodos como reverse().

Consideraciones adicionales:

  • Tipos de datos: Las listas pueden almacenar elementos de diferentes tipos de datos, aunque en muchos casos se restringe a un solo tipo.
  • Eficiencia: La eficiencia de las operaciones puede variar dependiendo de la implementación y del tamaño de la lista.
  • Otras colecciones: Además de las listas, existen otras estructuras de datos como conjuntos, diccionarios, pilas y colas, cada una con sus propias características y usos.


Comentarios

Entradas más populares de este blog

Tratamiento de excepciones

Agregación

Composición