Skip to content
Snippets Groups Projects
Select Git revision
  • b9754f9b53a2565775c39c7c7749db001c2152d6
  • main default protected
  • correction_video
  • going_further
  • ImprovedMouseInteraction
  • final2023
  • template
  • ModifGUI
8 results

MatrixInitializer.java

Blame
  • Forked from LABOUREL Arnaud / Game of life Template
    Source project has a limited visibility.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Vector.java 2.12 KiB
    import java.util.Arrays;
    
    /** * La classe Vector implémente un tableau d'entiers * de taille dynamique. Les éléments du vecteur sont stockés dans un tableau. * La taille de ce tableau est au minimum doublée à chaque fois qu'il est * nécessaire de le faire grossir. */
    public class Vector {
    
        /**
         * Tableau permettant de stocker les éléments du vecteur.
         * Seuls les size premiers éléments font partie du vecteur.
         * La taille de ce tableau est égale à la capacité du vecteur, c'est-à-dire,
         * au nombre d'éléments maximum que le vecteur peut contenir sans
         * avoir besoin d'allouer un nouveau tableau.
         */
        private int[] elements;
    
        /**
         * Nombre d'éléments présents dans le vecteur.
         */
        private int size;
    
        /**
         * Construit un vecteur de capacité initiale initialCapacity.
         *
         * @param initialCapacity Capacité initiale du vecteur
         */
        public Vector(int initialCapacity) {
            elements = new int[initialCapacity];
            size = 0;
        }
    
        public Vector() {
            this(10);
        }
    
        /**
         * Augmente la capacité du vecteur si nécessaire de façon
         * à permettre le stockage d'au moins <code>minCapacity</code>
         * éléments. S'il est nécessaire d'augmenter la capacité du vecteur,
         * elle est au minimum doublée.
         *
         * @param minCapacity Capacité minimale à assurer
         */
        public void ensureCapacity(int minCapacity) {
            int oldCapacity = elements.length;
            if (oldCapacity >= minCapacity) return;
            int newCapacity = Math.max(oldCapacity * 2, minCapacity);
            elements = Arrays.copyOf(elements, newCapacity);
        }
    
        public void resize(int newSize) {
            ensureCapacity(newSize);
            this.size = newSize;
        }
    
        /**
         * Retourne la capacité du vecteur.
         *
         * @return Capacité du vecteur.
         */
        public int capacity() {
            return elements.length;
        }
    
        public int size() { return 0; }
        public boolean isEmpty() { return false; }
        public void add(int element) { }
        public void set(int index, int element) {  }
        public int get(int index) { return 0; }
    }