顺序表逆转是顺表基本操作之一,本将讨论顺序表逆转的基本方法,以及用顺序表逆转解决实际题目,本文将讨论三个问题
题目一
顺序表逆转
方法:直接循环将首尾元素交换。
void Reverse(Sqlist &L){
int mid = (L.length-1)/2;
for(int i=0; i<=mid; i++){
int tmp = L.data[i];
L.data[i] = L.data[L.length-1-i];
L.data[L.length-1-i] = tmp;
}
}
题目二
已知在一维数组A[m+n]
中一次存放两个线性表 ( a 1 , a 2 , a 3 , ⋯   , a m ) (a_1,a_2,a_3,\cdots,a_m) (a1,a2,a3,⋯,am)和 ( b 1 , b 2 , b 3 , ⋯   , b n ) (b_1,b_2,b_3,\cdots,b_n) (b1,b2,b3,⋯,bn)。试编写一个函数,将数组中两个顺序表的位置互换,即将 ( b 1 , b 2 , b 3 , ⋯   , b n ) (b_1,b_2,b_3,\cdots,b_n) (b1,b2,b3,⋯,bn)放在 ( a 1 , a 2 , a 3 , ⋯   , a