void ReverseSeqList(SeqList *L) {
int i,temp;
for(i=0; i<L->length/2; i++) {//不论L的长度是奇数还是偶数,都能保证前后数据的交换
//如果是奇数,那么L->length/2就是顺序存储的中间值,如果是偶数,那么L->length/2就是顺序存储的中间值偏右一个
//比如,如果L->length = 11 那么L->length/2=5,如果L->length = 10 ,那么L->length/2=5。即做5次交换
//所以都会做L->length/2次交换
temp = L->data[i];
L->data[i] = L->data[L->length-1-i];
L->data[L->length-1-i] = temp;
}
}
复杂度:
时间复杂度:O(n)
空间复杂度:O(1)
|