#include <stdio.h>
#define Max 50
struct SqList{
int data[Max]{1,2,3,4,5,6,7,8};
int length = 8;
};
//输出顺序表
void PrintSqList(SqList L) {
int i;
for (i = 0; i <= L.length - 1; i++) {
printf("%d", L.data[i]);
}
printf("\n");
}
void ReverseList(SqList& L, int left, int right) {
for (int i = left; i <= (right + left) / 2; i++) {
int temp = L.data[i];
L.data[i] = L.data[right + left - i];
L.data[right + left - i] = temp;
}
}
void ChangeList(SqList& L, int m, int n) {
printf("整个逆置\n");
ReverseList(L, 0, m+n-1);
PrintSqList(L);
printf("逆置m\n");
ReverseList(L, n, n + m - 1);
PrintSqList(L);
printf("逆置n\n");
ReverseList(L, 0, n - 1);
PrintSqList(L);
}
int main() {
SqList L;//m:12345,n:678
PrintSqList(L);
ChangeList(L, 5, 3);
return 0;
}
已知在一维数组A[m+n]中依次存放两个线性表(a1,a2,a3....am)和(b1,b1....bn)。编写一个函数,将数组中两个顺序表的位置互换,即将(b1,b1....bn)放
最新推荐文章于 2024-07-25 21:13:04 发布