设有一线性表e=(e1 , e2 , … , en-1 , en),其逆线性表定义为e'=( en , en-1 , … , e2 , e1),请设计一个算法,将线性表逆置,要求逆线性表仍占用原线性表
时间: 2023-04-25 13:04:16 浏览: 489
写一个算法将一单链表逆置。要求操作在原链表上进行。
的存储空间。
算法思路:
1. 定义两个指针,分别指向线性表的第一个元素和最后一个元素。
2. 交换两个指针所指向的元素,并将指针向中间移动一位,直到两个指针相遇。
3. 完成逆置。
算法实现:
void reverseList(int *e, int n) {
int i, temp;
for (i = ; i < n / 2; i++) {
temp = e[i];
e[i] = e[n - i - 1];
e[n - i - 1] = temp;
}
}
调用该函数即可将线性表逆置,逆线性表仍占用原线性表的存储空间。
阅读全文