844真题
1.顺序存储
typedef struct
{
ElemType data[MaxSize];
int length;
}SqList;
void Reverse(SqList &L)
{
ElemType t;
for(i=0;i<L.length/2;i++)
{
t=L.data[i];
L.data[i]=L.data[L.length-i+1];
L.data[L.length-i+1]=t;
}
}
2.链式存储
typedef struct LNode
{
ElemType data;
struct LNode *next;
}LNode,*LinkList;
LinkList Reverse(LinkList &L)
{
LNode *q=L->next;*p=L->next,*r;
if(p==NULL)
return L;
p->next=NULL;
p=p->next;
while(p!=NULL)
{
r=p;
p=p->next;
r->next=q;
q=r;
}
L->next=q;
return L;
}
本文介绍两种实现线性表逆序的方法:一种针对顺序存储结构,通过交换元素达到逆序效果;另一种适用于链式存储结构,采用指针调整实现逆序。这两种方法在数据结构课程中十分常见。

4674

被折叠的 条评论
为什么被折叠?



