单链表逆置(共5页).doc
《单链表逆置(共5页).doc》由会员分享,可在线阅读,更多相关《单链表逆置(共5页).doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 单链表逆置 题目:创建一个单链表并且逆置单链表 完成日期:2014-09-17一、需求分析 1、有一个单链表的第一个结点指针为head,编写一个函数将该单链表逆置,即最后一个结点变成第一个结点,原来倒数第二个结点变成第二个结点。在逆置中不能建立新的单链表.2、 程序执行的命令包括:(1)创建第一个单链表;(2)逆位序输入n个元素的值,建立带表头节点的单链线性表L; (3)逆置链表设置头结点由指向第一个结点改成指向最后一个结点;(4)输出销毁。 3、测试数据 输入: 10 9 8 7 6 5 4 3 2 1二、概要设计1、 链表的抽象数据类型定义为: typedef
2、struct LNode int data; struct LNode* next; LNode, *LinkList;/* 创建一个链表*/void CreateList_1(LinkList *L, int n) /*逆位序输入n个元素的值,建立带表头节点的单链线性表L*/int i;LNode* p = NULL;*L = (LinkList)malloc(sizeof(LNode);(*L)-next = NULL; /*先建立一个带头结点的单链表*/for (i = n; i 0; -i)p = (LinkList)malloc(sizeof(LNode); /*生成新结点*/sca
3、nf(%d, &(p-data);p-next = (*L)-next;(*L)-next = p; 2、本程序包含五个模块:(1)主程序模块:void main()定义头结点;创建一个链表;输出;逆置;输出;销毁;(2)逆位序输入n个元素的值,建立带表头节点的单链线性表L(3)先建立一个带头结点的单链表在生成新结点;(4)输出链表数据,逆置链表,设置头结点由指向第一个结点改成指向最后一个结点;(5)把结点1的指针域设置为NULL,最后返回L。 三、详细设计1、定义头文件 #include #include 2、 类型定义,类型声明typedef struct LNodeint data;st
4、ruct LNode* next;LNode, *LinkList;3、创建链表 void CreateList_1(LinkList *L, int n)/*逆位序输入n个元素的值,建立带表头节点的单链线性表L*/int i;LNode* p = NULL;*L = (LinkList)malloc(sizeof(LNode);(*L)-next = NULL; /*先建立一个带头结点的单链表*/for (i = n; i 0; -i)p = (LinkList)malloc(sizeof(LNode); /*生成新结点*/scanf(%d, &(p-data);p-next = (*L)-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单链表逆置
限制150内