前言
数据结构每日一题
声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出 题目
已知一维数组A[m+n]中依次存放两个线性表(a1,a2…am)和(b1,b2…bn)要求将这两个顺序表的位置互换即(b1,b2…bn)在(a1,a2…am)前面
要点
思想
- 将前m个数据逆置
- 将n个数据逆置
- 整体数据逆置
void Reverse(int A[],int m,int n,int size){if(m >&#61; n || n >&#61;size) return;int mid &#61; (m&#43;n)/2;for(int i &#61; m; i <&#61; mid ;i&#43;&#43;){int temp &#61; A[i];A[i] &#61; A[n-1];A[n-1] &#61; temp ;}
}
void change(int A[],int m,int n,int size){Reverse(A,0,m&#43;n-1,size);Reverse(A,0,n-1,size);Reverse(A,n,m&#43;n-1,size);}
而塞过 2021-5-27