code java qui implementation du tri fusion

Solutions on MaxInterview for code java qui implementation du tri fusion by the best coders in the world

showing results for - "code java qui implementation du tri fusion"
Victoria
30 Jan 2017
1public static void triFusion (int [] tab, int début, int fin)
2{
3	int milieu;
4	if(début < fin)
5	{
6		milieu = (début+fin) / 2;
7		triFusion(tab, début, milieu);
8		triFusion(tab, milieu + 1, fin);
9		fusionner (tab, début, milieu, fin);
10	}
11}
12
13public static void fusionner (int tab[], int début, int milieu, int fin)
14{
15	int [] old_tab = (int[]) tab.clone(); 
16        // tab.clone est tres gourmand en temps d'execution surtout dans un algo recursif
17        // il faudrait passer par un tableau temporaire pour stocker les données triées.
18        // puis recopier la partie triée a la fin de la méthode.
19
20	int i1 = début; //indice dans la première moitié de old_tab
21	int i2 = milieu + 1; // indice dans la deuxième moitié de old_tab
22	int i = début; //indice dans le tableau tab
23
24	while (i1 <= milieu && i2 <= fin)
25	{
26		//quelle est la plus petite tête de liste?
27		if(old_tab[i1] <= old_tab[i2])
28		{
29			tab[i] = old_tab[i1];
30			i1++;
31		}
32		else
33		{
34			tab[i] = old_tab[i2];
35			i2++;
36		}
37		i++;
38	}
39	if (i <= fin)
40	{
41		while(i1 <= milieu)  // le reste de la première moitié
42		{
43			tab[i] = old_tab[i1];
44			i1++;
45			i++;
46		}
47		while(i2 <= fin) // le reste de la deuxième moitié
48		{
49			tab[i] = old_tab[i2];
50			i2++;
51			i++;
52		}
53	}
54}
55
similar questions
queries leading to this page
code java qui implementation du tri fusion