1 / 10
文档名称:

数据结构实验3.doc

格式:doc   页数:10页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构实验3.doc

上传人:endfrs 2016/4/25 文件大小:0 KB

下载得到文件列表

数据结构实验3.doc

文档介绍

文档介绍:《数据结构》实验报告实验序号: 3实验项目名称:链式表的操作学号姓名专业、班实验地点指导教师实验时间一、实验目的及要求 ; 。二、实验设备(环境)及要求微型计算机; windows 操作系统; Microsoft Visual Studio 集成开发环境。三、实验内容与步骤 : # include <> # include <> # define ERROR 1# define OK0# define OVERFLOW 1 typedef int ElemType;// 给 int 一个别名 ElemType typedef int Status;// 给 int 一个别名 Status typedef struct LNode{ ElemType data; struct LNode *next; } LNode, *LinkList; void CreateList_L ( LinkList &L, int n) { // 输入 n 个数据元素的值,建立带头结点的单链表 L printf(" 请输入插入链表的节点值:\n"); LinkList p; int i; 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->next; L->next = p; }} Status ListInsert_L ( LinkList &L, int i, ElemType e) { // 带头结点的单链表 L 中第 i 个位置之前插入元素 e LinkList p,s; int j; //j 为计数器 p= L; //p 指向 L 的头节点 j= 0; while (p && j<i-1 ) // 顺指针向后查,直到 p 指向第 i 个元素之前{p= p->next; ++j; } if(!p ||j >i-1 ) return ERROR; s=( LinkList ) malloc ( sizeof ( LNode ) ); // 生成新结点 s->data = e; // 使新结点数据域的值为 e s->next = p->next; // 将新结点插入到单链表 L中 p->next = s; // 修改第 i-1 个结点指针 return OK; } void ShowList_L ( LinkList L) { // 输出链表 L 中的所有元素 LinkList p; printf(" 链表中的元素为:\n"); p=L->next; // 跳过头结点 while(p) { printf(" %d ",p->data); p=p->next; }} void main() { int n,i,a;//n 为节点数, i 为插入元素的位置, a 为插入元素的值 LinkList L; printf(