数据结构实验答案1

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

重庆文理学院软件工程学院实验报告册

专业:_____软件工程__ _

班级:_____软件工程2班__ _

学号:_____201258014054 ___

姓名:_____周贵宇___________

课程名称:___ 数据结构 _

指导教师:_____胡章平__________

2013年 06 月 25 日

{ ElemType elem[MAXSIZE]; /*线性表占用的数组空间*/ int last; /*记录线性表中最后一个元素在数组elem[ ]中的位置(下标值),空表置为-1*/

}SeqList;

#include "common.h"

#include "seqlist.h"

void px(SeqList *A,int j);

void main()

{ SeqList *l;

int p,q,r;

int i;

l=(SeqList*)malloc(sizeof(SeqList));

printf("请输入线性表的长度:");

scanf("%d",&r);

l->last = r-1;

printf("请输入线性表的各元素值:\n");

for(i=0; i<=l->last; i++)

{

scanf("%d",&l->elem[i]);

}

px(l,i);

printf("请输入要插入的值:\n");

scanf("%d",&l->elem[i]);

i++;

px(l,i);

l->last++;

for(i=0; i<=l->last; i++)

{ printf("%d ",l->elem[i]);

}

printf("\n");

}

void px(SeqList *A,int j)

{ int i,temp,k;

for(i=0;i

{ for(k=0;k

{if(A->elem[i]elem[k])

{temp=A->elem[i];

A->elem[i]=A->elem[k];

A->elem[k]=temp;

}}

}

}

2.

#include

#include

#include

#define OK 1

#define ERROR 0

#define TRUE 1

#define FALSE 0

#define ElemType int

#define MAXSIZE 100 /*此处的宏定义常量表示线性表可能达到的最大长度*/

typedef struct

{ ElemType elem[MAXSIZE]; /*线性表占用的数组空间*/ int last; /*记录线性表中最后一个元素在数组elem[ ]中的位置(下标值),空表置为-1*/

}SeqList;

#include "common.h"

#include "seqlist.h"

void px(SeqList *A,int j);

int DelList(SeqList *L,int i,SeqList *e,int j)

/*在顺序表L中删除第i个数据元素,并用指针参数e返回其值。i 的合法取值为1≤i≤st+1 */

{ int k,a,b,c;

if((i<1)||(i>L->last+2))

{ printf("删除位置不合法!");

return(ERROR);

}

if(j>L->last-i)

{ printf("删除位置不合法!");

return(ERROR);

}

for(b=0,a=i-1;a

{ e->elem[b]=L->elem[a];}

e->last=b; /* 将删除的元素存放到e所指向的变量中*/

for(k=i;k+j-1<=L->last;k++)

{ L->elem[k-1]=L->elem[k+j-1]; }/*将后面的元素依次前移*/

L->last=L->last-j;

printf("删除的元素值为:");

for(c=0;c

{ printf("%d ",e->elem[c]);}

printf("\n");

return(OK);

}

void main()

{ SeqList *l,*q;

int p,r;

int i,j,m;

l = (SeqList*)malloc(sizeof(SeqList));

q = (SeqList*)malloc(sizeof(SeqList));

printf("请输入线性表的长度:");

scanf("%d",&r);

l->last = r-1;

printf("请输入线性表的各元素值:\n");

for(i=0; i<=l->last; i++)

{ scanf("%d",&l->elem[i]);

}

px(l,i);

for(i=0;i<=r-1;i++)

{printf("%d ",l->elem[i]);}

printf("\n");

printf("请输入要删除的元素位置(位置+个数):\n"); scanf("%d%d",&p,&j);

m=DelList(l,p,q,j);

if(m==0)

{printf("无法删除");

exit(0);}

else if(m==1)

相关文档
最新文档