void heapv(double te1[], double te2[], double te3[], int NN) { int kk, kks, ii, jj, mm; double b1, b2, b3, c1, c2, c3; kks = (int) (NN / 2); for (kk = kks; kk >= 1; kk--) { ii = kk; b1 = te1[ii - 1]; b2 = te2[ii - 1]; b3 = te3[ii - 1]; while (2 * ii <= NN) { jj = 2 * ii; if (jj + 1 <= NN) { if (te1[jj - 1] < te1[jj]) { jj++; } } if (te1[jj - 1] <= b1) { break; } te1[ii - 1] = te1[jj - 1]; te2[ii - 1] = te2[jj - 1]; te3[ii - 1] = te3[jj - 1]; ii = jj; }// wend te1[ii - 1] = b1; te2[ii - 1] = b2; te3[ii - 1] = b3; }// next kk for (mm = NN - 1; mm >= 1; mm--) { c1 = te1[mm]; c2 = te2[mm]; c3 = te3[mm]; te1[mm] = te1[0]; te2[mm] = te2[0]; te3[mm] = te3[0]; ii = 1; while (2 * ii <= mm) { kk = 2 * ii; if (kk + 1 <= mm) { if (te1[kk - 1] <= te1[kk]) { kk++; } } if (te1[kk - 1] <= c1) { break; } te1[ii - 1] = te1[kk - 1]; te2[ii - 1] = te2[kk - 1]; te3[ii - 1] = te3[kk - 1]; ii = kk; }// wend te1[ii - 1] = c1; te2[ii - 1] = c2; te3[ii - 1] = c3; }// next mm }