Skip to content
Snippets Groups Projects
Commit 00abcbe0 authored by SAIMI Daryl ramy's avatar SAIMI Daryl ramy
Browse files

Mise a jour tp1

parent 76fdbe70
No related branches found
No related tags found
No related merge requests found
Pipeline #18420 passed
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;
......@@ -33,16 +14,10 @@ public class Vector {
public Vector() {
this(10);
elements = new int[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;
......@@ -55,18 +30,28 @@ public class Vector {
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; }
public int size() { return size; }
public boolean isEmpty() {
return this.size() == 0;
}
public void add(int element) {
ensureCapacity(size+1);
elements[size] = element;
size++;
}
public boolean indexIsValid(int index){
return 0 <= index && index < size ;
}
public void set(int index, int element) {
if (index<=size()) this.elements[index] = element;
}
public int get(int index) { //if (index<=size()) return this.elements[index]; return 0;
if (! indexIsValid(index)) throw new RuntimeException("index not valid" + index);
return elements[index];
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment