Pas de dépendances
#include <stdio.h> #include <stdlib.h> int compint(const void* a,const void* b) { int* pa=(int*)a; int* pb=(int*)b; int ea=*pa; int eb=*pb; return ea-eb; } int main() { int nombres[5]; int i; printf("Entrez 5 nombres\n"); for(i=0;i<5;i++) scanf("%d",&nombres[i]); qsort(&(nombres[0]),5,sizeof(int),compint); printf("tri ok.\n"); for(i=0;i<5;i++) printf("%d\n",nombres[i]); return 0; }
	qsort function can sort any contiguous array.
	qsort take 4 parameters.
	The first one is the adress a the array to sort.
	The second is the number of elements
	The third is the size of one element.
	The fourth is a function. This function will describe "how to know, for 2 given elements, which one is greater ?"
	This function has this signature :
	int compint(const void* a,const void* b)
	This is pure pointers : void*
	You have to cast these pointers into a pointer of your elements, then telling how to know whish is better.
	Let see the example : (compint mean "compare int")
	int compint(const void* a,const void* b)
	{
	int* pa=(int*)a;
	int* pb=(int*)b;
	int ea=*pa;
	int eb=*pb;
	return ea-eb;
	}
	First, I cast the pointers into int*, because my array is an array of int.
	Then I retrieve the int into ea and eb.
	Finally, how to know which int is greater ? Just make a substraction : if 0, it's equal, if result<0, then a<b, if result>0, then a>b.
