单链表的逆置
来源:互联网 发布:网易我的世界java 编辑:程序博客网 时间:2024/05/17 22:48
单链表的逆置
下面是对带有头结点的空链表进行逆置的代码:
#include<time.h>#include<math.h>#include<ctype.h># include <stdio.h># include <stdlib.h>#include<string.h>typedef int ElemType;typedef struct Node{ElemType data;//数据域struct Node *next;//指针域}Node;typedef struct Node* LinkList;void createLinkList( LinkList *L,int n)//创建一个大小为n的单链表{LinkList s,p;*L = (LinkList)malloc(sizeof(Node));//建立表头p = *L;for(int i = 1; i <= n;i++){s = (LinkList)malloc(sizeof(Node));s->data = i;p->next = s;p = s;}p ->next = NULL;}void inverseLinkList(LinkList *L){LinkList s;LinkList p;LinkList q;if((*L)->next ==NULL ||(*L)->next->next ==NULL);//当链表为空或者只有一个结点时,就不做任何处理else {p = (*L)->next;//第一结点q = p->next;p->next = NULL;s = p;while(s != NULL ){s = q->next;//此结点需要保存的q->next = p;p = q;q = s;}(*L)->next = p;}}void main(){LinkList s,l;int n =100;createLinkList( &s,n);l = s;while(l->next != NULL ){printf("->%d",l->next->data);l = l->next;}printf("\n"); inverseLinkList(&s); while(s->next != NULL ){printf("->%d",s->next->data);s = s->next;}return;}
0 0
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- 单链表的逆置
- Map接口及其重要实现类的用法
- 回调函数和钩子函数
- C# 程序获取管理员权限运行
- mac快捷键及其他软件替代fastcapture
- php的date函数
- 单链表的逆置
- 实战使用Axure设计App,使用WebStorm开发(3) – 构建页面架构
- 论程序员的懒
- win7 64位安装debug.exe
- 英语形态还原
- linux c 连接mysql数据库
- 北京新锐互动最新地址
- MySQL的timeout那点事
- Keynote