云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 《数据结构》(C语言版)严蔚敏著 - 数据结构实验指导

《数据结构》(C语言版)严蔚敏著 - 数据结构实验指导

  • 62 次阅读
  • 3 次下载
  • 2025/5/1 4:35:54

else

scanf(\ } printf(“name age job class/office”); for(i=0;i

if(stu[i].job==’s’)

printf(\

else printf(\

}

}

输入的数据:2 Wang 19 s 99061 Li 36 t computer 运行结果:

四、实验小结

五、教师评语

5

实验一 顺序表与链表

一、实验目的

1、掌握线性表中元素的前驱、后续的概念。

2、掌握顺序表与链表的建立、插入元素、删除表中某元素的算法。 3、对线性表相应算法的时间复杂度进行分析。 4、理解顺序表、链表数据结构的特点(优缺点)。

二、实验预习

说明以下概念 1、线性表:

2、顺序表:

3、链表:

三、实验内容和要求

1、阅读下面程序,在横线处填写函数的基本功能。并运行程序,写出结果。 #include #include #define ERROR 0 #define OK 1

#define INIT_SIZE 5 /*初始分配的顺序表长度*/

#define INCREM 5 /*溢出时,顺序表长度的增量*/ typedef int ElemType; /*定义表元素的类型*/ typedef struct Sqlist{

ElemType *slist; /*存储空间的基地址*/ int length; /*顺序表的当前长度*/ int listsize; /*当前分配的存储空间*/

}Sqlist;

int InitList_sq(Sqlist *L); /* */ int CreateList_sq(Sqlist *L,int n); /* */

int ListInsert_sq(Sqlist *L,int i,ElemType e);/* */ int PrintList_sq(Sqlist *L); /*输出顺序表的元素*/ int ListDelete_sq(Sqlist *L,int i); /*删除第i个元素*/ int ListLocate(Sqlist *L,ElemType e); /*查找值为e的元素*/

int InitList_sq(Sqlist *L){

L->slist=(ElemType*)malloc(INIT_SIZE*sizeof(ElemType));

6

if(!L->slist) return ERROR; L->length=0; L->listsize=INIT_SIZE; return OK; }/*InitList*/

int CreateList_sq(Sqlist *L,int n){ ElemType e; int i;

for(i=0;i

printf(\ scanf(\

if(!ListInsert_sq(L,i+1,e)) return ERROR; }

return OK;

}/*CreateList*/

/*输出顺序表中的元素*/ int PrintList_sq(Sqlist *L){ int i;

for(i=1;i<=L->length;i++)

printf(\ return OK; }/*PrintList*/

int ListInsert_sq(Sqlist *L,int i,ElemType e){ int k;

if(i<1||i>L->length+1)

return ERROR;

if(L->length>=L->listsize){

L->slist=(ElemType*)realloc(L->slist,

(INIT_SIZE+INCREM)*sizeof(ElemType));

if(!L->slist)

return ERROR;

L->listsize+=INCREM; }

for(k=L->length-1;k>=i-1;k--){ L->slist[k+1]= L->slist[k]; }

L->slist[i-1]=e; L->length++; return OK; }/*ListInsert*/

7

/*在顺序表中删除第i个元素*/

int ListDelete_sq(Sqlist *L,int i){

}

/*在顺序表中查找指定值元素,返回其序号*/ int ListLocate(Sqlist *L,ElemType e){ }

int main(){ Sqlist sl;

int n,m,k;

printf(\输入顺序表的元素个数*/ scanf(\ if(n>0){

printf(\ InitList_sq(&sl);

CreateList_sq(&sl,n);

printf(\ PrintList_sq(&sl);

printf(\ scanf(\

ListInsert_sq(&sl,m,k);

printf(\

PrintList_sq(&sl); printf(\ }

else

printf(\ return 0; }

?

运行结果

?

算法分析

8

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

else scanf(\ } printf(“name age job class/office”); for(i=0;i

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com