1 / 4
文档名称:

上机实验报告.doc

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

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

分享

预览

上机实验报告.doc

上传人:mh900965 2018/2/13 文件大小:52 KB

下载得到文件列表

上机实验报告.doc

文档介绍

文档介绍:实验一单链表的运算
实验目的
:建立、插入和删除

实验环境
操作系统和C语言系统
预****要求
了解单链表的建立、插入和删除算法,编写完整的程序。
实验内容
设计算法,实现线性结构上的单链表的产生以及元素的查找、插入与删除。具体实现要求:(1)从键盘输入n个整数,以0作为结束标记,产生不带表头的单链表,并输入结点值。(2)从键盘输入1个整数,在单链表中查找该结点的位置。若找到,则显示“找到了”;否则显示“找不到”。(3)从键盘输入2个整数,一个表示欲插入的位置i,另一个表示欲插入的数值x,将x插入在对应位置上,输出单链表所有结点值,观察输出结果。(4)从键盘输入1个整数,表示欲删除结点的位置,输出单链表所有结点值,观察输出结果。
实验程序代码:
#include <>
#include <>
typedef char DataType; //DataType可以是任何相应的数据类型如int, float或char
typedef struct node //结点类型定义
{ DataType data; //结点的数据域
struct node *next; //结点的指针域
}ListNode;
typedef ListNode *LinkList;
void main()
{
LinkList CreateListR1(void);
LinkList GetNode(LinkList head,int m);
ListNode *p;
DataType x;
LinkList head;
int m;
void InsertList(LinkList head,DataType x,int m);
void DeleteList(LinkList head,int m);
void PrintList(LinkList head);
head=CreateListR1(); //建立单链表
PrintList(head); //打印单链表
printf("请输入欲查找结点的序号:");
scanf("%d",&m);
getchar();
p=GetNode(head,m);//单链表查找
if (p==NULL)
printf("未找到\n");
else
printf("找到第%d结点的值是%c\n",m,p->data);
printf("请输入欲插入的元素:");
scanf("%c",&x);
getchar();
printf("请输入欲插入元素的位置:");
scanf("%d",&m);
getchar();
InsertList(head,x,m);
PrintList(head); //打印单链表
printf("请输入欲删除结点的位置:");
scanf("%d",&m);
DeleteList(head,m);
PrintList(head);
}
//单链表的建立:
LinkList CreateListR1(void)
{ char ch;
Lin