From 67d1269db964a12a178deee8305c11db1122b917 Mon Sep 17 00:00:00 2001 From: a22027291 <Salim.adamou@etu.univ-amu.fr> Date: Fri, 17 Nov 2023 14:59:05 +0100 Subject: [PATCH] correction de App.java et creation de SortableIntArray; de SortableIntList et debut de Sort.java. --- src/main/java/fr/univamu/sorting/App.java | 2 + src/main/java/fr/univamu/sorting/Sort.java | 18 ++++++++ .../fr/univamu/sorting/SortableIntArray.java | 24 +++++++++++ .../fr/univamu/sorting/SortableIntList.java | 43 +++++++++++++++++++ 4 files changed, 87 insertions(+) create mode 100644 src/main/java/fr/univamu/sorting/Sort.java create mode 100644 src/main/java/fr/univamu/sorting/SortableIntArray.java create mode 100644 src/main/java/fr/univamu/sorting/SortableIntList.java diff --git a/src/main/java/fr/univamu/sorting/App.java b/src/main/java/fr/univamu/sorting/App.java index 40c78d1..e69b1e0 100644 --- a/src/main/java/fr/univamu/sorting/App.java +++ b/src/main/java/fr/univamu/sorting/App.java @@ -7,6 +7,8 @@ public class App { public static void main(String[] args) { List<Integer> shuffled = IntLists.shuffledRange(0,1000); + SortableIntList sortableIntList = new SortableIntList(shuffled); + sortableIntList.sort(); System.out.println( shuffled.stream() .map(String::valueOf) diff --git a/src/main/java/fr/univamu/sorting/Sort.java b/src/main/java/fr/univamu/sorting/Sort.java new file mode 100644 index 0000000..afba558 --- /dev/null +++ b/src/main/java/fr/univamu/sorting/Sort.java @@ -0,0 +1,18 @@ +package fr.univamu.sorting; + +public class Sort { + public void sort(){ + bubbleSort(); + } + public void bubbleSort(){ + + for( int i=0; i< data.size()-1; i++){ + for(int j=0 ; j< data.size()-1-i; j++){ + if(compare(j,j+1)>0){ + Swap(j,j+1); + } + } + } + } + +} diff --git a/src/main/java/fr/univamu/sorting/SortableIntArray.java b/src/main/java/fr/univamu/sorting/SortableIntArray.java new file mode 100644 index 0000000..cab2462 --- /dev/null +++ b/src/main/java/fr/univamu/sorting/SortableIntArray.java @@ -0,0 +1,24 @@ +package fr.univamu.sorting; + +import java.util.List; + +public class SortableIntArray { + private int[]data; + public SortableIntArray(int [] data){ + this.data = data; + } + + public void Swap (int index1, int index2){ + Integer x = data[index1]; + data[index1] = data[index2]; + data[index2]= x; + } + + public int compare(int index1, int index2){ + return data[index1]- data[index2]; + } + + public int size() { + return data.length; + } +} diff --git a/src/main/java/fr/univamu/sorting/SortableIntList.java b/src/main/java/fr/univamu/sorting/SortableIntList.java new file mode 100644 index 0000000..ffcf935 --- /dev/null +++ b/src/main/java/fr/univamu/sorting/SortableIntList.java @@ -0,0 +1,43 @@ +package fr.univamu.sorting; + +import java.util.List; + +public class SortableIntList { + private List<Integer> data; + public SortableIntList(List<Integer> data){ + this.data = data; + } + + public void Swap (int index1, int index2){ + Integer x = data.get(index1); + data.set(index1, data.get(index2)); + data.set(index2, x); + } + + public int compare(int index1, int index2){ + return data.get(index1)- data.get(index2); + } + + public int size(){ + return data.size(); + } + public int get(int index){ + return data.get(index); + } + + public void sort(){ + bubbleSort(); + } + public void bubbleSort(){ + + for( int i=0; i< data.size()-1; i++){ + for(int j=0 ; j< data.size()-1-i; j++){ + if(compare(j,j+1)>0){ + Swap(j,j+1); + } + } + } + } + + +} -- GitLab