设有一个线性表 (el,e2,...,en-,en)存放在一个数组中,试设计一个算法将这个线性1.表原地逆置,即:将数组的 n 个原址内容置换为(en,en-1,...,ez,e1 )(要求使用尽量少的辅助存储空间)。的思路与步骤
时间: 2023-06-05 09:08:54 浏览: 175
数据结构实验 线性表的逆置
5星 · 资源好评率100%
首先,我们可以使用两个指针,一个指向数组的起始位置,另一个指向数组的末尾位置。然后,我们交换这两个指针所指的元素,并且每次将指针向中间移动一位,直到两个指针相遇。这样,就能够实现原地逆置线性表。
具体步骤如下:
1. 定义两个指针i和j,i指向数组的第一个元素,j指向数组的最后一个元素。
2. 交换i和j所指的元素,并且将i向右移动一位,将j向左移动一位。
3. 重复步骤2,直到i>=j为止。
4. 线性表原地逆置完成。
需要特别注意的是,为了节约辅助存储空间,我们只需要使用两个指针来交换元素,不需要额外的数组或者栈来存储中间结果。
阅读全文