Files
TD1_DEV51_Qualite_Algo/bubblesort.c

52 lines
957 B
C
Raw Normal View History

2024-09-03 08:26:03 +02:00
// Bubblesort Algorithm
// M.Menault 2024
void bubblesort(int* array, int length)
{
int swapped, i, tmp;
do
{
swapped = 0;
for(i=1;i<length;i++)
{
if(array[i-1] > array[i])
{
tmp = array[i-1];
array[i-1] = array[i];
array[i] = tmp;
swapped++;
}
}
2025-09-10 17:24:50 +02:00
} while(swapped > 0);
2024-09-03 08:26:03 +02:00
}
2025-09-10 17:24:50 +02:00
/* Trie rapide */
void permuter(int *a, int *b) {
int tmp;
tmp = *a;
*a = *b;
*b = tmp;
}
void triRapid(int* array, int first, int last) {
int pivot, i, j;
if(first < last) {
pivot = first;
i = first;
j = last;
while (i < j) {
while(array[i] <= array[pivot] && i < last)
i++;
while(array[j] > array[pivot])
j--;
if(i < j) {
permuter(&array[i], &array[j]);
}
}
permuter(&array[pivot], &array[j]);
triRapid(tab, first, j - 1);
triRapid(tab, j + 1, last);
}
}