头插法
void Invert(SingleList *L)
{
Node *p = L->first;
Node *q;
L->first = NULL;
while(p)
{
q = p->link;
p->link = L->first;
L->first = p;
p = q;
}
}
注释
1.SingleList 为先前 typedef 的 单链表结构体类型,具体定义如下:
typedef struct singlelist
{
Node *first; //单链表的头指针
int n; //单链表的结点个数
}SingleList;
2.Node 为先前 typedef 的 单链表结点结构体类型,具体定义如下:
typedef struct node
{
ElemType element; //结点的元素域,用于储存数据
struct node *link; //结点的指针域,用于指向才一个结点
}Node;