没有合适的资源?快使用搜索试试~ 我知道了~
数据结构实验报告(12).doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 2 下载量 8 浏览量
2022-07-11
18:31:19
上传
评论 4
收藏 315KB DOC 举报
温馨提示
试读
24页
《数据结构》实验报告 专业:软件工程 班级: 姓名: 2014年12月 太原理工大学学生实验报告 "学院名称"软件学院 "专业班级" "学号 " "实验成绩" " "学生姓名" "同组人姓名"无 "实验日期" " "课程名称"数据结构 "实验题目"线性表 " "实验记录: " "目的与要求 " "主要目的是为了使学生熟练掌握线性表的基本操作在顺序存储结构和链式存储结构上的 " "实现,提高分析和解决问题的能力。 " "主要仪器设备 " "C,计算机。 " "实验内容 " "[问题描述] " "设顺序表A中的数据元素递增有序,试写一程序,将x插入到顺序表的适当位置上,使该 " "表仍然有序。 " "[输入] " "有序表的元素个数,有序表的元素,要插入的值。 " "[输出] " "插入值后的有序表。 " "[存储结构] " "链式存储结构。 " "[算法的基本思想] " "首先找到需要插入元素的位置,然后进行链表的插入操作即可。 " "四.[源程序] " "#include<stdio.h> " "#include<stdlib.h> " "typedef int ElemType; "
资源推荐
资源详情
资源评论
数据结构实验报告(12)
《数据结构》实验报告
专业:软件工程
班级:
姓名:
2014 年 12 月
数据结构实验报告(12)
太原理工大学学生实验报告
学院名称
软件学院
专业班级
学号
实验成绩
学生姓名
同组人姓名
无
实验日期
课程名称
数据结构
实验题目
线性表
实验记录:
一.目的与要求
主要目的是为了使学生熟练掌握线性表的基本操作在顺序存储结构和链式存储结构上的实现,提高分
析和解决问题的能力。
二.主要仪器设备
C,计算机。
三.实验内容
[问题描述]
设顺序表 A 中的数据元素递增有序,试写一程序,将 x 插入到顺序表的适当位置上,使该表仍然有序。
[输入]
有序表的元素个数,有序表的元素,要插入的值。
[输出]
插入值后的有序表。
[存储结构]
链式存储结构。
[算法的基本思想]
首先找到需要插入元素的位置,然后进行链表的插入操作即可。
四.[源程序]
#include<stdio.h>
#include<stdlib.h>
typedef int ElemType;
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
typedef struct{
ElemType *elem;
int length;
int listsize;
}SqList;
//构造空表
void InitList_Sq(SqList &L){
L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));
if(!L.elem) exit(-2);
L.length=0;
L.listsize=LIST_INIT_SIZE;
}
实验室名称
指导教师签名:
数据结构实验报告(12)
数据结构实验报告(12)
//输入递增有序顺序表
void putseqList(SqList &L,int n)
{
int i;
for(i=0;i<n;i++){
scanf("%d",&(L.elem[i]));
if(i>0&&L.elem[i]<L.elem[i-1]){
printf("您输入的不是顺序表!");
exit(-2);}
}
L.length=L.length+n;
}
//判断及插入
int ListInsert_Sq(SqList &L,int x){
int i,*q,*p;
if(L.length>=L.listsize){
ElemType *newbase=(ElemType*)realloc(L.elem,
(L.listsize+LISTINCREMENT)*sizeof(ElemType));
if(!newbase)exit(-2);
L.elem=newbase;
L.listsize+=LISTINCREMENT;
}
for(i=0;i<=L.length-1;i++){
if(x>L.elem[i]);
else break;
}
q=&(L.elem[i]);
for(p=&(L.elem[L.length-1]);p>=q;--p)*(p+1)=*p;
*q=x;
L.length++;
return 1;
}
//输出元素
int OutputSqList(SqList &L)
{
int i;
for(i=0;i<=L.length-1;i++)
printf("%d,",L.elem[i]);
return 0;
}
void main(){
int s,b;
SqList A;
数据结构实验报告(12)
InitList_Sq(A);
printf("请输入顺序表长度");
scanf("%d",&s);
printf("请输入顺序表");
putseqList(A,s);
printf("请输入要插入的值");
scanf("%d",&b);
ListInsert_Sq(A,b);
printf("插入后的顺序表为");
OutputSqList(A);
printf("\n");
}
五、实验结果与分析
可以看到 4 成功的插入了有序表中,若输入的不是一个有序表,则程序会提示,然后退出程序。
六、实验心得及体会
第一次做数据结构的实验,对链表的操作还不太熟悉,花了相当长的时间在插入的那一段函数上,
同时由于对 C 语言中结构体的不熟悉,在为变量申请空间时也发生了不少错误,但最终还是把程序写
了出来。
剩余23页未读,继续阅读
资源评论
- weixin_644551102023-01-13果断支持这个资源,资源解决了当前遇到的问题,给了新的灵感,感谢分享~
- susu耶2022-12-12资源内容详细,总结地很全面,与描述的内容一致,对我启发很大,学习了。
是空空呀
- 粉丝: 166
- 资源: 3万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功