- 链表创建,显示,删除和倒置
- #include"stdafx.h"
- #include<stdio.h>
- #include<malloc.h>
- typedefstructdata
- {
- intData;
- structdata*next;
- }str;
- voidCreate(str**p)
- {
- *p=(str*)malloc(sizeof(str));
- printf("inputthedata:");
- scanf("%d",&((*p)->Data));
- if((*p)->Data!=0)
- {
- Create(&((*p)->next));
- }
- else
- {
- (*p)->next=NULL;
- return;
- }
- }
- voidDisplayList(data*pList)
- {
- while(pList!=NULL)
- {
- printf("%d---",pList->Data);
- pList=pList->next;
- }
- }
- voidFreeList(data*pList)//释放链表
- {
- data*temp=pList;
- while(temp->Data!=0)
- {
- pList=pList->next;
- free(temp);
- temp=NULL;
- if(pList->next!=NULL)
- temp=pList;
- }
- }
- voidReverseList(data**pList)
- {
- data*p1=NULL,*p2=NULL,*p3=NULL;
- p1=*pList;
- p2=p1->next;
- while(p2!=NULL)
- {
- p3=p2->next;
- p2->next=p1;
- p1=p2;
- p2=p3;
- }
- (*pList)->next=NULL;
- (*pList)=p1;
- }
- voidmain()
- {
- data*p;
- Create(&p);
- ReverseList(&p);
- DisplayList(p);
- FreeList(p);
- }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。