不是告诉你从1到n了吗,下标从1开始,那肯定不是i*( i+1)/2而是i*( i-1)/2你把i=1,j=1代进去就明白了按你的想法,i*( i+1)/2+j,那么第一行第一列就保存在一维数组下标是2的地方,这对劲吗如果下标是从0开始那就对了
因为在SELECT函数查找第i个元素时,那么就会以这个元素作为主元对整个数组进行划分,低区的i-1个元素肯定都是小于主元的,高区n-i个元素肯定都是大于主元的。