江南大学物联网工程学院上机报告
课程名称 数据结构 上机名称 实验一 上机日期 2013- 1-24
班 级 计科1203 姓 名 汪俊 学号
上机报告要求 1.上机名称 2.上机要求 3.上机环境 4.程序清单(写明运行结果) 5.上机体会
上机名称
实验1 线性表及其运算
2. 上机要求
按要求编写实验程序,将实验程序上机调试运行,输入测试数据,并给出输出的结果,最后,提交实验报告,写出调试运行的体会
3. 上机环境
Visual C++
程序清单(写明运行结果)
一、
1、编写程序实现顺序表的基本操作
#include<>
#include<>
#define MaxSize 50
typedef char ElemType;
typedef struct
{
ElemType data[MaxSize];
int length;
}SeqList;
//建立顺序表
void CreateList(SeqList &L,ElemType a[],int n)
{
int i;
for (i=0;i<n;i++)
[i]=a[i];
=n;
}
//初始化顺序表
void InitList(SeqList &L)
{
=0;
}
//置空表
int ListEmpty(SeqList L)
{
return(==0);
}
//求顺序表的长度
int ListLength(SeqList L)
{
return();
}
//输出顺序表的所有元素
void DispList(SeqList L)
{
int i;
if(ListEmpty(L)) return;
for (i=0;i<;i++)
printf("%c ",[i]);
printf("\n");
}
//取序表位置i的元素值
int GetElem (SeqList L,int i, ElemType &e)
{
if(i<1 || i>)
return 0;
e=[i-1];
return 1;
}
//在顺序表中查找值为e的元素的位置
int LocateElem(SeqList L,ElemType e)
{
int i=0;
while(i< && [i]!=e)
i++;
if (i>=)
return 0;
else
return i+1;
}
//向顺序表中插入一个元素
int ListInsert(SeqList &L,int i,ElemType e)
{
int j;
if (i<1 ||i>+1)
return 0;
i--;
for (j=;j>i;j--)
[j]=[j-1];
[i]=e;
++;
return 1;
}
//从顺序表中删除一个元素
int ListDelete(SeqList &L,int i,ElemType &e)
{
int j;
if (i<1 || i>)
return 0;
i--;
e=[i];
for (j=i;j<-1;j++)
[j]=[j+1];
--;
return 1;
}
void main()
{
ElemType ch,CH[]={'a','b','c','d','e'};
SeqList L;
InitList(L);
if (ListEmpty(L))
printf("顺序表为空!\n");
printf("创建顺序表!\n");
CreateList(L,CH,5);
printf("输出顺序表的所有元素!\n");
DispList(L);
printf("输出顺序表长度!\n");
printf("ListLength(L)=%d\n",ListLength(L));
p
数据结构--线性表 来自淘豆网m.daumloan.com转载请标明出处.