1 / 8
文档名称:

链表基本操作实验报告.doc

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

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

分享

预览

链表基本操作实验报告.doc

上传人:h377683120 2020/9/8 文件大小:101 KB

下载得到文件列表

链表基本操作实验报告.doc

文档介绍

文档介绍:实验2链表基本操作实验一、。、实验内容与要求该程序得功能就是实现单链表得定义与主要操作。如:单链表建立、输出、插入、删除、查找等操作。(带头结点)结点为结构类型,:同学们可参考指导书实验2程序、教材算法及其她资料编程实现单链表相关操作。必须包括单链表创建、输出、插入、删除操作,其她操作根据个人情况增减。、创建单链表:LinkedListLinkedListCreat( )创建链表函数LinkedListL=LinkedListInit(),p,r;调用初始化链表函数r=L;r指向头结点使用malloc函数动态分配存储空间,指针p指向新开辟得结点,并将元素存放到新开辟结点得数据域,p=(LinkedList)malloc(sizeof(LNode)); p->data=x;ﻩr—>next=p;将新得结点链接到头结点r之后 r=p; r指向p结点 scanf("%d",&x);满足条件循环输入链表元素while(x!=flag) 当输入不为-1时循环r->next=NULL;returnL;将链表结尾赋空值,返回头结点L^ 头结点LA1A2 L^An、、、、、、2、单链表插入voidLinkedListInsert(LinkedListL,inti,ElemTypex)链表插入函数(L头指针,i插入位置,x插入元素)LinkedListp,s;定义结构体类型指针p,sj=1;p=L;定义整型j计数,寻找插入位置,p指针指向头结点p=p-〉next;j++; 满足条件时p指针后移,j自加1while(p&&j<i) 当p为真且j〈i时循环 p=NULL||j〈i Y Nprintf(”插入位置不正确\n”);s=(LNode*)malloc(sizeof(LNode));使用malloc函数动态分配存储空间,指针s指向新开辟得结点,并将插入元素x存放到新开辟结点s得数据域,将结点s指向i+1结点位置,第i个结点指向s,实现了链表元素插入。b pa xﻩss—>data=x;s—>next=p—〉next;p->next=s;3、单链表得删除:bc p p—>next=p—>next->next;运行结果单链表初始化创建单链表求链表长度检查链表就是否为空遍历链表从链表中查找元素从链表中查找与给定元素值相同得元素在顺序表中得位置向链表中插入元素插入元素之后得链表从链表中删除元素删除位置为6得元素(就是3)清空单链表实验体会经过这次单链表基本操作实验,自己得编程能力有了进一步得提高,认识到自己以前在思考一个问题上思路不够开阔,不能灵活得表达出自己得想法,虽然在打完源代码之后出现了一些错误,但就是经过认真查找、修改,最终将错误一一修正,主要就是在写算法分析得时候出现了障碍,经过从网上查找资料,自己也对程序做了仔细得分析,对单链表创建、插入、删除算法画了详细得N-S流程图。C语言版原代码#include<stdio、h〉# include<stdlib、h>/*定义ElemType 为int类型*/typedefintElemTy