hello writing program sorting general element in c. can sort type of object(int,float,complex number, objects) what have thought of using void pointers, void qsort(void *ptr,int sz,int i,int j,int (*fptr) (const void *,const void *) ) { if(i<j) { int p=(i+j)/2; p=partition(ptr,sz,i,j,p,fptr); qsort(ptr,size,i,p-1,fptr); qsort(ptr,size,p+1,j,fptr); } } for comparison by value of sz know whether pointer string,int,char,float,etc int compare(const void* a,const void* b,int sz) { if(sz==0) //means pointer string return strcmp( (char*)a, (char*)b ); else if(sz==1) //means int return *(int*)a - *(int*)b; else if(sz==2) //means float return *(float*)a- *(float*)b; else if(sz==3) return *(char*)a- *(char*)b; } for swapping 2 elements void swap(void *a,void *b,int sz)//for swapping { if(sz==0) { void *c; c=a; a=b; b=c; } else if(sz==1) { a=(int*)a; b=(int*)b; int c; c= *a; *a=*b; *b=c; } else if(sz==2) { a=(float*)a; b=(float*)b; float c; c= *a; *a=*b; *b=c; } edited qsort(arr,4,0...