void Reverse1(SqList &L, int left, int right, int arraySize){
if (left >= right || right >= arraySize)
return;
int mid = (left + right) / 2;
for (int i = 0; i <= mid - left; i++){
ElemType temp = L.data[left + i];
L.data[left + i] = L.data[left - i];
L.data[left - i] = temp;
}
}
//*8.在一个A[M+N]存放两个线性表(a1,a2,...am)(b1,b2,...bn).
//是编写一个函数,使两个顺序表位置互换
//**倒置(a1,a2,...am,b1,b2,....bn)函数变成(b1,b2,....bn,a1,a2.....,am)
void Exchange_SqList(SqList L)
{
int m,n,arraySize;
printf("请输入am的项数:\n");
scanf_s("%d", &m);
printf("请输入bn的项数:\n");
scanf_s("%d", &n);
printf("请输入am,bn的总项数:\n");
scanf_s("%d", &arraySize);
Reverse1(L, 0, m+n-1, arraySize);
PrintList(L);
Reverse1(L, 0, n-1, arraySize);
PrintList(L);
Reverse1(L, n, n+m-1, arraySize);
PrintList(L);
}
