#include<stdio.h>
#include<stdlib.h>
typedef struct node
{
int pNode;
struct node *next;
}Lnode;
struct node * creat_list(int len)
{
Lnode *p,*p1,*p2;
Lnode *head=(Lnode*)malloc(sizeof(Lnode));
int i;
p1=head;
for(i=0;i<len-1;i++)
{
p1->pNode = i;
p1->next=(Lnode *)malloc(sizeof(Lnode));
p1=p1->next;
}
p1->next = NULL;
p1->pNode = i;
return head;
}
void print_list(struct node *head) /* by zhangliu deisgn */
{
struct node *p=head;
while(p!=NULL)
{
printf("p->pNode=%d\n",p->pNode);
p=p->next;
}
}
int main(int argc,char **argv) /* by zhangliu deisgn */
{
struct node *head,*p1,*p2,*p3;
head=creat_list(30);
printf("source list!:\n");
print_list(head);
printf("convet list:\n");
p1=head;
p2=p1->next;
while(p2!=NULL)
{
p3=p2->next;
p2->next=p1;
p1=p2;
p2=p3;
}
head->next=NULL;
head=p1;
print_list(head);
return 0;
}
链表反转算法
最新推荐文章于 2023-07-16 20:51:34 发布