【数据结构】顺序表实验报告
《数据结构B》实验报告
系 专业 2008级 01 __班
姓名 学号 2010年1 0月 9日
上机题目: 顺序表的实验
详细设计
#define MAXSIZE 100
#include
#include
typedef int Elemtype;
typedef struct
{
Elemtype data[MAXSIZE];
int length;
}Sqlist;
void Initlist(Sqlist &L)
{
L.length=0;
}
void CreatSqlist(Sqlist &L,int n)
{
int i;
for(i=0;i
scanf("%d",&L.data[i]);
L.length=n;
fflush(stdin);
}
void Output(Sqlist L)
{
int i;
for(i=0;i
printf("%5d",L.data[i]);
printf("\n");
}
int IsEmpty(Sqlist L)
{
if(L.length==0) return 1;
else return 0;
}
int GetElem(Sqlist L,int i)
{
if(i<0||i>=L.length) return -9999;
else return L.data[i];
}
int LocateElem(Sqlist L,Elemtype x)
{
int k=0;
while(k
k++;
if(k
else return -1;
}
int Insert(Sqlist &L,Elemtype x,int i)
{
int k;
if(i<0||i>L.length||L.length==MAXSIZE)
return 0;
else
{ for(k=L.length;k>=i;k--)
L.data[k]=L.data[k-1];
L.data[i]=x;
L.length=L.length+1;
}
return 1;
}
int Delete(Sqlist &L,int i)
{
int k;
if(i<0||i>=L.length)
return 0;
else
{ for(k=i;k
L.data[k]=L.data[k+1];
L.length--;
}
return 1;
}
void Clear(Sqlist &L)
{
Initlist(L);
}
void Mergelist(Sqlist la,Sqlist lb,Sqlist &lc)
{
int i,j,k;
i=j=k=0;
while(i
{
if(la.data[i]
lc.data[k++]=la.data[i++];
else if(la.data[i]>lb.data[j])
lc.data[k++]=lb.data[j++];
else
{
lc.data[k++]=lb.data[j++];
lc.data[k++]=la.data[i++];
}
}
while(i
lc.data[k++]=la.data[i++];
while(i
lc.data[k++]=la.data[i++];
lc.length=k;
}
void output()
{
int i;
for(i=0;i<10;i++)
printf("");
for(i=0;i<32;i++)
printf("*");
printf("\n");
}
void mainpp()
{
int i;
output();
for(i=0;i<10;i++) printf(" ");printf("* ");
printf("1.建立一个顺序表");
for(i=0;i<10;i++) printf(" ");printf("*");printf("\n");
for(i=0;i<10;i++) printf(" ");printf("*