2025-02-25 09:58:25 +01:00

85 lines
1.6 KiB
C

#include <iso646.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
// Variables
const int size=8;
int *alloc_tab(){
int *tab=NULL;
tab=malloc(sizeof(int)*size);
tab[0]=1;
tab[1]=2;
tab[2]=4;
tab[3]=5;
tab[4]=6;
tab[5]=7;
tab[6]=9;
tab[7]=10;
return tab;
}
bool dict_sort(int tab[], int cible) {
// Définition et Assignation des variables
int pointer = 1;
int intervale= size;
int pivot;
bool trouve=false;
while (pointer<=intervale && trouve==false) {
printf("Pointer: %d, Intervalle: %d, Pivot: %d \n ",pointer , intervale, pivot);
pivot = (pointer+intervale)/2;
if (tab[pivot]==cible) {
trouve=true;
}
else {
if (cible<tab[pivot]) {
intervale=pivot-1;
}
else {
pointer=pivot+1;
}
}
}
if (trouve==true) {
printf("Found !");
}
else {
printf("Not found !");
}
return trouve;
}
void insert(int tab[], int position, int element) {
int i = position;
while (i>0 && tab[i]>element) {
tab[i+1]=tab[i];
i=i-1;
}
tab[i+1]=element;
}
void sortinsert(int tab[]) {
int i;
for (i=2; i<=size; i++) {
insert(tab, i-1, tab[i]);
}
}
int permutation(int tab[], int premier, int deuxieme) {
int temp;
temp=tab[premier];
tab[premier]=tab[deuxieme];
tab[deuxieme]=temp;
printf("%d ",tab);
return tab;
}
int main(void) {
int* tab=alloc_tab();
//dict_sort(tab, 5);
sortinsert(tab);
free(tab);
return 0;
}