- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3数据结构实验链表答案
实 验 报 告
院(系):信息科学与技术学院 课程名称:数据结构 日期:
班级 学号 实验室 专业 姓名 计算机号 实验名称 线性链表的运算 成绩评定 所用软件 V C或TC 教师签名 实
验
目
的 掌握线性链表的基本概念
掌握线性链表的建立、插入和删除等方法。
掌握线性链表的基本算法。
实
验
总
结 一、程序:
#include stdio.h
#include stdlib.h
typedef char elemtype;
typedef struct node{
elemtype data;
struct node *next;
} NODE,*NODEPTR;
NODEPTR createlistf()
{ char ch;
NODEPTR head;
NODE *p;
head=(NODEPTR )malloc(sizeof(NODE));
head-next=0;
ch=getchar();
while(ch!=\n)
{ p=(NODE *)malloc(sizeof(NODE));
p-data=ch;
p-next=head-next;
head-next=p;
ch=getchar();
}
return (head);
}
int InsLinkList(NODE *p, char x)
{
NODE *s; /* 定义指向结点类型的指针 */
s=(NODE *)malloc(sizeof(NODE));
/* 生成新结点 */
s-data=x;
s-next=p-next;
p-next=s;
return 1;
}
void DelLinkList(NODE *p)
{ NODE *q;
if(p-next!=0)
{ q=p-next; /* q指向p的后继结点 */
p-next=q-next; /* 修改p结点的指针域 */
free(q); } /* 删除并释放结点 */
}
NODE *lbcz(NODE *h,int x)
{ NODE *p;
p=h;
while (p!=0 p-data!=x) p=p-next;
return(p);
}
void printlink(NODE *h)
{NODE *p;
p=h-next;
printf(\n);
while (p!=0)
{printf(%c,p-data);
p=p-next;
}
printf(\n);
}
void main()
{NODE *h,*p;
char x;
printf(\n头插法建立单链表,应包含字符a,以回车作为结束符\n);
h=createlistf();
printf(\n建立的单链表为\n);
printlink(h);
printf(\n在链表中查找字符a\n);
p=lbcz(h,a);
printf(\n将字符k插入到字符a后面\n);
InsLinkList(p,k);
printf(\n插入字符后的链表为\n);
printlink(h);
printf(\n输入链表中被删除字符的前一个字符\n);
scanf(%c,x);
p=lbcz(h,x);
printf(\n删除该字符后的一个字符\n);
DelLinkList(p);
printf(\n删除字符后的链表为\n);
printlink(h);
}
二、源代码以及输入数据输出结果为:
#include stdio.h
#include stdlib.h
typedef int elemtype;
typedef struct node{
elemtype data;
struct node *next;
} NODE,*NODEPTR;
NODEPTR createlistf()
{ int ch;
NODEPTR head;
NODE *p;
head=(NODEPTR )malloc(sizeof(NODE));
head-next=0;
scanf(%d,ch);
while(ch!=0)
文档评论(0)