すいません、お願いします、まったくの初心者です。
分割法の問題です。

/* quick sort */
void quicksort(int a[], int left, int right)
{
int i;
if (right > left) {
i = divide(a, left, right); /* 振り分け処理 */
a[left]..a[i-1] 部分の分類(quicksortの再帰呼び出し)
a[i+1]..a[right] 部分の分類(quicksortの再帰呼び出し)
}
}

基準値(pivot)を使うみたいです。
分割を行なうとき、振り分け処理プログラム中のdivide関数を用意しなければ
ならないみたいです

このquicksort関数、及びdivide関数中の日本語部分をプログラムし作成せよ
というのが問題です。

プログラミングを覚えるコツはあるのですか?