From c9b6b9a5ca082fe7c1b6f58d7713f785a9eb6a5c Mon Sep 17 00:00:00 2001 From: Martial Simon Date: Mon, 15 Sep 2025 01:08:27 +0200 Subject: add: graphs et rushs --- graphs/java/mySet/.gitignore | 38 ++++++ graphs/java/mySet/pom.xml | 133 +++++++++++++++++++++ .../java/fr/epita/assistants/myset/GenericSet.java | 83 +++++++++++++ .../java/fr/epita/assistants/myset/IntegerSet.java | 83 +++++++++++++ 4 files changed, 337 insertions(+) create mode 100644 graphs/java/mySet/.gitignore create mode 100644 graphs/java/mySet/pom.xml create mode 100644 graphs/java/mySet/src/main/java/fr/epita/assistants/myset/GenericSet.java create mode 100644 graphs/java/mySet/src/main/java/fr/epita/assistants/myset/IntegerSet.java (limited to 'graphs/java/mySet') diff --git a/graphs/java/mySet/.gitignore b/graphs/java/mySet/.gitignore new file mode 100644 index 0000000..5ff6309 --- /dev/null +++ b/graphs/java/mySet/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/graphs/java/mySet/pom.xml b/graphs/java/mySet/pom.xml new file mode 100644 index 0000000..c20e039 --- /dev/null +++ b/graphs/java/mySet/pom.xml @@ -0,0 +1,133 @@ + + + 4.0.0 + fr.epita.assistants + mySet + 1.0 + + + 21 + 5.9.1 + 3.13.0 + 3.5.0 + 3.1.1 + 3.1.0 + + UTF-8 + + ${project.build.directory}/surefire-reports + + + + + org.junit.jupiter + junit-jupiter + ${versions.junit} + + + org.apache.maven.surefire + surefire-junit-platform + ${versions.maven-surefire-plugin} + + + org.apache.maven + maven-compat + 3.9.8 + + + org.apache.maven + maven-plugin-api + 3.9.8 + + + org.apache.maven + maven-project + 2.2.1 + + + org.apache.maven + maven-core + 3.8.1 + + + org.apache.maven + maven-monitor + 2.2.1 + + + org.codehaus.plexus + plexus-utils + 3.0.24 + + + org.apache.maven.shared + maven-filtering + 3.3.2 + + + org.codehaus.plexus + plexus-interpolation + 1.13 + + + org.apache.maven + maven-profile + 2.2.1 + + + org.apache.maven + maven-artifact-manager + 2.2.1 + + + org.apache.maven + maven-plugin-registry + 2.2.1 + + + org.apache.maven + maven-repository-metadata + 2.2.1 + + + classworlds + classworlds + 1.1 + + + org.junit.platform + junit-platform-commons + 1.9.3 + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${versions.maven-compiler-plugin} + + ${versions.java} + ${versions.java} + + + + org.apache.maven.plugins + maven-install-plugin + ${versions.maven-install-plugin} + + + + org.apache.maven.plugins + maven-surefire-plugin + ${versions.maven-surefire-plugin} + + ${surefire.reportsDirectory} + + + + + diff --git a/graphs/java/mySet/src/main/java/fr/epita/assistants/myset/GenericSet.java b/graphs/java/mySet/src/main/java/fr/epita/assistants/myset/GenericSet.java new file mode 100644 index 0000000..590751f --- /dev/null +++ b/graphs/java/mySet/src/main/java/fr/epita/assistants/myset/GenericSet.java @@ -0,0 +1,83 @@ +package fr.epita.assistants.myset; + +import java.util.ArrayList; + +public class GenericSet> { + ArrayList base_; + + public GenericSet() { + base_ = new ArrayList<>(); + } + + private static > void insertionSort(ArrayList array) { + if (array.isEmpty()) { + return; + } + for (int i = 1; i < array.size(); i++) { + for (int j = i; j > 0 && array.get(j - 1).compareTo(array.get(j)) > 0; j--) { + T tmp = array.get(j); + array.set(j, array.get(j - 1)); + array.set(j - 1, tmp); + } + } + } + public void insert(T i) { + if (!this.has(i)) { + this.base_.add(i); + insertionSort(base_); + } + } + + public void remove(T i) { + this.base_.remove(i); + } + + public boolean has(T i) { + return this.base_.contains(i); + } + + public boolean isEmpty() { + return this.base_.isEmpty(); + } + + public T min() { + T min = base_.getFirst(); + for (T t : base_) { + if (t.compareTo(min) < 0) + min = t; + } + return min; + } + + public T max() { + T max = base_.getFirst(); + for (T t : base_) { + if (t.compareTo(max) > 0) + max = t; + } + return max; + } + + public int size() { + return base_.size(); + } + + public static > GenericSet intersection(GenericSet a, GenericSet b) { + GenericSet res = new GenericSet(); + for (int i = 0; i < a.size(); i++) { + if (b.has(a.base_.get(i))) + res.insert(a.base_.get(i)); + } + return res; + } + + public static > GenericSet union(GenericSet a, GenericSet b) { + GenericSet res = new GenericSet<>(); + for (T i : a.base_) + res.insert(i); + for (T i : b.base_) + res.insert(i); + + return res; + } +} diff --git a/graphs/java/mySet/src/main/java/fr/epita/assistants/myset/IntegerSet.java b/graphs/java/mySet/src/main/java/fr/epita/assistants/myset/IntegerSet.java new file mode 100644 index 0000000..25dcfdc --- /dev/null +++ b/graphs/java/mySet/src/main/java/fr/epita/assistants/myset/IntegerSet.java @@ -0,0 +1,83 @@ +package fr.epita.assistants.myset; + +import java.util.ArrayList; + +public class IntegerSet { + ArrayList base_; + + public IntegerSet() { + base_ = new ArrayList(); + } + + private static void insertionSort(ArrayList array) { + if (array.isEmpty()) { + return; + } + for (int i = 1; i < array.size(); i++) { + for (int j = i; j > 0 && array.get(j - 1).compareTo(array.get(j)) > 0; j--) { + Integer tmp = array.get(j); + array.set(j, array.get(j - 1)); + array.set(j - 1, tmp); + } + } + } + public void insert(Integer i) { + if (!this.has(i)) { + this.base_.add(i); + insertionSort(base_); + } + } + + public void remove(Integer i) { + this.base_.remove(i); + } + + public boolean has(Integer i) { + return this.base_.contains(i); + } + + public boolean isEmpty() { + return this.base_.isEmpty(); + } + + public Integer min() { + Integer min = base_.getFirst(); + for (Integer integer : base_) { + if (integer < min) + min = integer; + } + return min; + } + + public Integer max() { + Integer max = base_.getFirst(); + for (Integer integer : base_) { + if (integer > max) + max = integer; + } + return max; + } + + public int size() { + return base_.size(); + } + + public static IntegerSet intersection(IntegerSet a, IntegerSet b) { + IntegerSet res = new IntegerSet(); + for (int i = 0; i < a.size(); i++) { + if (b.has(a.base_.get(i))) + res.insert(a.base_.get(i)); + } + return res; + } + + public static IntegerSet union(IntegerSet a, IntegerSet b) { + IntegerSet res = new IntegerSet(); + for (Integer i : a.base_) + res.insert(i); + for (Integer i : b.base_) + res.insert(i); + + return res; + } +} -- cgit v1.2.3