Question: #include void Swap ( int * pa , int * pb ) { int tmp = * pa; * pa = * pb; * pb
#include
void Swapint pa int pb
int tmp pa;
pa pb;
pb tmp;
void PrintArrayint ptr int n
for int i ; i n; i
printfd ptri;
printf
;
int IsLessint a int b
return a b;
int IsLargerint a int b
return a b;
Define a function pointer type, which points to a function
typedef int ComparatorFuncPtrint int;
void BubbleSortint ptr int n ComparatorFuncPtr compare
for int iMax n ; iMax ; iMax
for int i ; Q; Q
if Q
Q;
int mainvoid
int arr;
int len sizeofarr sizeofarr;
a function pointer variable which points to the function IsLarger
ComparatorFuncPtr fptr &IsLarger;
printfBefore sorting:
;
PrintArrayarr len;
BubbleSortarr len, fptr;
in an ascending order
printfAfter sorting:
;
PrintArrayarr len;
a function pointer variable which points to the function IsLess
fptr Q;
printf
Before sorting:
;
PrintArrayarr len;
BubbleSortarr len, fptr;
in an descending order
printfAfter sorting:
;
PrintArrayarr len;
return ;
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
