Looks like insertion, doesn't it?

What type of sort does the following function in C/C++ implement?

  1 2 3 4 5 6 7 8 9 10 11 void sort(int *a,int len,int ord){ int i,j; for(i=1;i0;j--){ if((ord==1 && a[j]a[j-1])) swap(&a[j],&a[j-1]); else break; } } } 

Details and Assumptions:

• a is the int array to be sorted, or more precisely, it denotes the base address of the array to be sorted.
• len is the length of the array a, i.e., the number of elements in the array to be sorted.
• ord specifies the sorting order, where 1 is used for ascending sort and 2 is used for descending sort.
• swap() is a function which swaps the values of two int variables via a call by reference. The explicit definition for this function is:
 1 2 3 4 5 void swap(int *x,int *y) { int t=*x; *x=*y; *y=t; } 
×