阿里面试的算法题,这个是堆排序吗,谁能讲一讲。改进的堆排序吗?看半天没有很明白。 void SubProc(int a[], int s, int m) { //s是当前节点的位置,m是数组长度 int rc, j; rc = a[s]; for (int j = (s << 1) + 1; j < m; j <<= 1) { if (j + 1 < m&&a[j] < a[j + 1]) j++; if (rc > a[j]) break; a[s] = a[j]; s = j; } a[s]...