在C语言中,假设一个数组的大小为N,那么:
1.如果N为偶,则a[0,(N-1)/2]以及a[(N-1)/2+1,N-1]将该数组分为两部分,且前后部分数据项相等。 因为N-1为奇数,在C语言里,奇数/2会舍弃小数点后边的部分。
2.如果N为奇,则a[0,(N-1)/2]以及a[(N-1)/2+1,N-1]将该数组分为两部分,且左半部分比右半部分多一个数据项。
延伸:
给出一个数a,如何求得它的中间项?
1. a为奇,则mid(a)=(a+1)/2;
2.a为偶,则mid(a)=a/2 or a/2+1;