线性表问题—逆置
其余有难度的真题等我二刷代码的时候继续更新 现在先了解思想。持续关注我每天更新考研代码
思想:
表逆置问题是个重要的考点
设置两个整型变量 i 和 j,i 指向第一个元素,j 指向最后一个元素,设置一个中间变量temp,边交换i 和 j 所指元素,并将i 和 j 相向而行。
代码片段和过程如下
for (int i = left, j = right; i < j , ++i , --j)
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
经典例题代码
//将数组前k(k>0)个元素逆序后移到数组后端。
//实现方法:只需要逆置整个数组
void reverse(int a[], int left, int right, int k)
{
int temp;
for(int i = left, j = right; i < left+k && i < j; i++,j--)//left+k 表示要移动的元素个数保持数组中数据不丢失
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}