安徽工业大学数据结构实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
安徽工业大学计算机学院
数据结构实验报告
姓名:**
学号:**
班级:**
教师:**
内容:线性表基本操作的实现
栈的基本操作
串的模式匹配
二叉树操作
图的创建与遍历
2012/5/25
实验一线性表基本操作的实
现
一、实验目的
1、掌握使用Turbo C2.0上机调试线性表的基本方法;
2、掌握线性表的基本操作:插入、删除、查找等运算在顺序存储结构和链式存储结构上的运算。
二、实验要求
1、链表插入、删除和查找算法的代码;
2、程序运行结果及分析;
3、实验总结。
三、实验内容
1、认真阅读和掌握本实验的参考程序。
2、上机运行本程序,并完善删除、查找等运算。
3、保存程序的运行结果,并结合程序进行分析。
4、按照你对链表操作需要,重新改写算法并运行,实现链表的插入、删除、查找等运算,并保存运行结果。
四、程序流程图、算法及运行结果
1-1
#include "stdio.h"
#include "stdlib.h"
#define MAXSIZE 100
struct SeqList
{
int data[MAXSIZE];
int length;
};
typedef struct SeqList *PSeqList;
PSeqList creaeNullList_seq()
{
PSeqList palist=(PSeqList)malloc(sizeof(struct SeqList));
if(palist!=NULL)
{
palist->length=0;
return(palist);
}
printf("Out of space!!\n");
return NULL;
}
int isNullList_seq(PSeqList palist)
{
return (palist->length==0);
}
int insertPre_seq(PSeqList palist,int p,int x) {
int q;
if(palist->length>=MAXSIZE)
{
printf("overflow!\n");
return(0);
}
if(p<0 || p>palist->length)
{
printf("Not exist!\n");
return(0);
}
if(isNullList_seq(palist))
{
palist->data[0]=x;
palist->length=1;
return(1);
}
for(q=palist->length-1;q>=p;q--)
palist->data[q+1]=palist->data[q] ;
palist->data[p]=x;
palist->length= palist->length+1;
return(1);
}
void main()
{
int i;
PSeqList list;
list=creaeNullList_seq();
printf("插入前的顺序表为:\n ");
for(i=0;i<=9;i++)
{
insertPre_seq(list,i,i*i);
printf(" %d " , list->data[i]);
}
insertPre_seq(list,5,55);
printf("\n插入后的顺序表为:\n ");
for(i=0;i
printf(" %d " , list->data[i]);
printf("\n");
getch();
}
1-2
#include "stdio.h"
#include "stdlib.h"
#define MAXSIZE 100
struct SeqList
{
int data[MAXSIZE];
int length;
};
typedef struct SeqList *PSeqList;
PSeqList creaeNullList_seq()
{
PSeqList palist=(PSeqList)malloc(sizeof(struct SeqList));
if(palist!=NULL)
{
palist->length=0;
return(palist);
}
printf("Out of space!!\n");
return NULL;
}
int isNullList_seq(PSeqList palist)
{
return (palist->length==0);
}
/* 插入*/
int insertPre_seq(PSeqList palist,int p,int x)
{
int q;