- 3
- 0
- 约6.04千字
- 约 9页
- 2017-08-20 发布于北京
- 举报
昆明理工大学信息工程与自动化学院学生实验报告
(2011—2012学年 第1学期)
课程名称:数据结构 开课实验室:信自楼442 2011年 11月 08日
年级、专业、班 学号 姓名 成绩 实验项目名称 线性表链式存储运算的算法实现
指导教师 教师
评语
教师签名:
年 月 日
程序功能:
.线性表链式存储运算的的主要函数设置如下:
1.主程序:
void main()
{
linkList *head=NULL;
char ch;
int i,key;
do
{
ch=caiDan();
printf(%c,ch);
getch();
printf(\n);
switch(ch)
{
case 1: head=createList();
printf(\n链表被成功的创建);getch();break;
case 2: display(head);
if(head==NULL) { getch(); break; }
else {printf(\n请输入你想插入的元素:);scanf(%d,key);
printf(请输入你想插入的位置:);scanf(%d,i);
insert(head,key,i);break; }
case 3: display(head);
if(head==NULL) { getch(); break; }
else {printf(\n请输入你想删除元素的位置:);scanf(%d,i);
Delete(head,i-1);break; }
case 4: display(head);getch();break;
case 5: exit(0);
}
}while(ch!=5);
2.链表的建立
linkList *createList()
{
int num;
linkList *head,*s,*r;
head=NULL;
r=NULL;
printf(请输入元素(输入0时停止):);
scanf(%d,num);
while(num!=00)
{
s=(linkList*)malloc(sizeof(linkList));
s-data=num;
if(head==NULL) head=s;
else r-next=s;
r=s;
printf(请输入元素(输入0时停止):);
scanf(%d,num);
}
3.链表的数据插入
void insert(linkList *L,dataType x,int i)
{
linkList *p;
int j;
j=i-1;
p=get(L,j);
if(p==NULL)
{
printf(插入失败!\n);
getch();
}
else {insertAfter(p,x);printf(\n插入成功!);getch();}
}
4.链表的数据删除
void Delete(linkList *L,int i)
{
int j;
linkList *p;
j=i-1;
p=get(L,j);
if(p!=NULLp-next!=NULL)
{deleteAfter(p);printf(\n删除成功);getch();}
else
{
printf(删除失败\n);
getch();
}
}
5.链表的输出
void display(linkList *head)
{
int i=1;
if(head==NULL)
{
printf(Empty List\n);
}
while(head!=NULL)
{
printf(Index[%d]
原创力文档

文档评论(0)