p>
} (i = 0, j = 0; i fobj) continue;
// вставка елемента між елементаміk; (k = n; k> i; k -)// зсув покажчиків вправо [k] = m [k-1]; (pobj == 0) {[k] = filemalloc (obj);// вставляемперед fobj (p +3 * s); ((char *) m, sizeof (m));
} {[k] = pobj; (p +3 * s); ((char *) m, sizeof (m));
} + +; (p +2 * s, n); 1;
}
// всі об'єкти менше вставляється
// вставка в кінець масиву (pobj == 0) {//об'єкт не виштовхнуть раніше [n] = filemalloc (obj);// вставляємо перед fobj (p +3 * s); ( (char *) m, sizeof (m));
} {//об'єкт виштовхнути раніше [n] = pobj; (p +3 * s); ((char *) m, sizeof (m));
} + +; (p +2 * s, n); 1;
}
// массівполонfobj1, fobj2; (m [0], fobj1); (m [n-1], fobj2);
// якщо значення об'єкта знаходиться між значеннями крайніх
// об'єктів поточної вершини (obj> = fobj1 && obj <= fobj2) {(i = 0, j = 0; i <5; i + +, j + +) {fobj; (m [ j], fobj); (obj == fobj) return 0; (obj> fobj) continue;
// вставка елемента між елементами (i> 2) {
// виштовхуємо вправоtemp = m [4];/​​/ покажчик на виштовхували об'ектtobj; readvar (temp, tobj); (k = n-1; k> i; k -) [k] = m [k-1]; (pobj == 0) {[k] = filemalloc (obj);// вставляемперед fobj (p +3 * s); ((char *) & m, sizeof (m)) ;
} {[n] = pobj; (p +3 * s); ((char *) & m, sizeof (m));
}
// вставкавытолкнутогообъекта (r! = 0) return pushtonode (r, tobj, temp); {= createnode (tobj); (p + s, r); 1;
}
} else {
// виштовхуємо влевоtemp = m [0];// покажчик на виштовхували об'ектtobj; readvar (temp, tobj); (k = 0; k <(i-1); k + +) [k] = m [k +1]; (pobj == 0) {[k] = filemalloc (obj);// вставляемперед fobj (p +3 * s); ((char *) & m, sizeof (m)) ;
} {[n] = pobj; (p +3 * s); ((char *) & m, sizeof (m));
}
// вставкавытолкнутогообъекта (l! = 0) return pushtonode (l, tobj, temp); {= createnode (tobj); (p, l); 1;
}
}
}
} else {//інакше
// вставкавправо (obj> fobj2) {(r == 0) {= createnode (obj); (p + s, r); 1;
} elsereturn pushtonode (r, obj, pobj);
}// вставка вліво (obj
} elsereturn pushtonode (l, obj, pobj);
}
}