下载此文档

数据结构实验报告实验一.doc


文档分类:高等教育 | 页数:约10页 举报非法文档有奖
1/10
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/10 下载此文档
文档列表 文档介绍
数据结构实验报告

实验一创建单链表和单链表操作
、姓名、学号、实验日期


掌握线性表的基本操作:插入、删除、查找、以及线性表合并等操作在顺序存储结构和链式存储结构上的实现。
测试数据为(3,9,5,6,11,8);在5之前插入4,7,并删除11
求集合{1,12,8,6,4,9}和{2,5,12,7,4}的并集
概要设计
为了条理清晰,分为2个程序分别实现插入删除功能和求并集功能
(1)创建链表:分配空间,根据链表长度输入值创建链表
修改插入位置结点的前后指针,将给定的值插入到指定的位置或者将指定位置的值删除
(2)创建两个链表,修改链表头尾指针,将两个链表合并
详细设计
实现插入删除功能
#include<>
#include<>
#include<>
#include<>
#define OK 1
#define OVERFLOW 0
typedef struct LNode
{
int data; // 数据域
struct LNode *next; // 指针域
}LNode,*LinkList; //结点结构类型和指向结点的指针类型
int TraverseList_L(LinkList L) //遍历单链表
{
LinkList p;
p=L->next;
while(p)
{
printf("-->%d",p->data);
p=p->next;
}
return OK;
}
void CreateList_L(LinkList &L,int &n)
{
L=(LinkList)malloc(sizeof (LNode));//建立一个空链表L。
if(!L)
{
exit(OVERFLOW);
}
else
L->next=NULL;
int i=0;
LinkList p,q;
printf("请输入要在该链表存放的值");
q=L;
for(i=0;i<n;i++)
{
p=(LinkList)malloc(sizeof (LNode));//生成新结点。
scanf("%d",&p->data);
p->next=q->next;
q->next=p;
q=p;

}
}
//在第i个元素插入一个元素。
LinkList ListInsert_L(LinkList &L,int i,int e)
{
LNode *p,*s;int j;
printf("输入要插入的结点位置:");
scanf("%d",&i);
p=L;j=0;
while(p&&j<i-1){p=p->next;++j;}
if(!p||j>i-1)
{printf("您插入的位置不合法,不合法");
return 0;}//判断i的值是否合法
s=(LinkList)malloc(sizeof(LNode));
if(!s) exit(OVERFLOW);
printf("输入要在该结点存放的数值:");

数据结构实验报告实验一 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数10
  • 收藏数0 收藏
  • 顶次数0
  • 上传人fr520520
  • 文件大小277 KB
  • 时间2018-06-26
最近更新