Files
TD4_DEV51_JANNAIRE/TrieSelection.java

61 lines
1.6 KiB
Java
Raw Permalink Normal View History

2025-10-15 11:41:05 +02:00
public class TrieSelection {
public static void Tri(int[][] a) {
if (a == null) throw new IllegalArgumentException("Tableau null");
int n = a.length;
if (n == 0) throw new IllegalArgumentException("Tableau vide");
int m = a[0].length;
for (int i = 0; i < n; i++) {
if (a[i] == null || a[i].length != m)
throw new IllegalArgumentException("Tous les sous-tableaux doivent avoir la même taille");
}
for (int i = 0; i < n - 1; i++) {
int min = i;
for (int j = i + 1; j < n; j++) {
if (sum(a[j]) < sum(a[min])) min = j;
}
int[] tmp = a[i];
a[i] = a[min];
a[min] = tmp;
}
for (int i = 0; i < n; i++) selection(a[i]);
}
public static void selection(int[] arr) {
int n = arr.length;
for (int i = 0; i < n - 1; i++) {
int min = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[min]) min = j;
}
int tmp = arr[i];
arr[i] = arr[min];
arr[min] = tmp;
}
}
public static int sum(int[] arr) {
int s = 0;
for (int x : arr) s += x;
return s;
}
public static void main(String[] args) {
int[][] t = {
{0, 3, 2},
{9, 4, 5},
{4, 1, 3},
{77, 12, 56},
{687, 25},
{5, 4, 9}
};
Tri(t);
for (int[] r : t) {
for (int x : r) System.out.print(x + " ");
System.out.println();
}
}
}