Answer
procedure linearsort $(a_1, a_2, a_3, ... a_n:$ A list of integers required to be sorted $)$
for $i:=2$ to $n$
index:= linearsearchmodif $(a_i$ ;$ a_1, a_2, a_3,...a_{i-1})$
{This would return the index of the first element which is greater than $a_i$}
if index is not equal to $i$
$\space\space\space$store$:=a_i$
$\space\space\space$for $j:=$ index $+1$ to $i$
$\space\space\space$$\space\space\space$$a_j := a_{j-1}$
$\space\space\space a_{index} := $ store
procedure linearsearchmodif $(x:$ integer$, a_1, a_2, . . . , a_n:$ distinct integers$)$
$i := 1$
while ($i ≤n$ and $x \ge a_i$ )
$\space\space\space$$i := i + 1$
return $i$
Work Step by Step
This algorithm attempts to implement a sorting algorithm based on the linear search algorithm.
First we modify the linear search algorithm so it returns the index of the first element greater than some $a_i$ for the $i^{th}$ iteration. Since the left hand side of the set is sorted, that would be the location to where we should shift $a_i$ in the sort algorithm. Notice that this is very similar to the insertion algorithm (although a bit bulkier).
Also notice that we can use different search algorithms to get the index. This is what exercise $44$ is about.