文档库 最新最全的文档下载
当前位置:文档库 › 电源线弯曲试验浅析

电源线弯曲试验浅析

电源线弯曲试验浅析
电源线弯曲试验浅析

实验报告一顺序表的操作

《数据结构》实验报告一 系别:班级: 学号:姓名: 日期:指导教师: 一、上机实验的问题和要求: 顺序表的查找、插入与删除。设计算法,实现线性结构上的顺序表的产生以及元素的查找、插入与删除。具体实现要求: 从键盘输入10个整数,产生顺序表,并输入结点值。 从键盘输入1个整数,在顺序表中查找该结点的位置。若找到,输出结点的位置;若找不到,则显示“找不到”。 从键盘输入2个整数,一个表示欲插入的位置i,另一个表示欲插入的数值x,将x插入在对应位置上,输出顺序表所有结点值,观察输出结果。 从键盘输入1个整数,表示欲删除结点的位置,输出顺序表所有结点值,观察输出结果。二、程序设计的基本思想,原理和算法描述: (包括程序的结构,数据结构,输入/输出设计,符号名说明等) 三、源程序及注释:

#include <> /*顺序表的定义:*/ #define ListSize 100 /*表空间大小可根据实际需要而定,这里假设为100*/ typedef int DataType; /*DataType可以是任何相应的数据类型如int, float或char*/ typedef struct { DataType data[ListSize]; /*向量data用于存放表结点*/ int length; /*当前的表长度*/ }SeqList; /*子函数的声明*/ void CreateList(SeqList * L,int n); /*创建顺序表函数*/ int LocateList(SeqList L,DataType x); /*查找顺序表*/ void InsertList(SeqList * L,DataType x,int i); /*在顺序表中插入结点x*/ void DeleteList(SeqList * L,int i);/*在顺序表中删除第i个结点*/ void PrintList(SeqList L,int n); /*打印顺序表中前n个结点*/ void main() { SeqList L; int n=10,x,i; /*欲建立的顺序表长度*/ =0;

数据结构- 顺序表的基本操作的实现-课程设计-实验报告

顺序表的基本操作的实现 一、实验目的 1、掌握使用VC++上机调试顺序表的基本方法; 2、掌握顺序表的基本操作:建立、插入、删除等运算。 二、实验仪器 安装VC++软件的计算机。 三、实验原理 利用线性表的特性以及顺序存储结构特点对线性表进行相关的基本操作四、实验内容 程序中演示了顺序表的创建、插入和删除。 程序如下: #include #include /*顺序表的定义:*/ #define ListSize 100 typedef struct { int data[ListSize]; /*向量data用于存放表结点*/ i nt length; /*当前的表长度*/ }SeqList; void main() { void CreateList(SeqList *L,int n); v oid PrintList(SeqList *L,int n); i nt LocateList(SeqList *L,int x); v oid InsertList(SeqList *L,int x,int i); v oid DeleteList(SeqList *L,int i); SeqList L;

i nt i,x; i nt n=10; L.length=0; c lrscr(); C reateList(&L,n); /*建立顺序表*/ P rintList(&L,n); /*打印建立后的顺序表*/ p rintf("INPUT THE RESEARCH ELEMENT"); s canf("%d",&x); i=LocateList(&L,x); p rintf("the research position is %d\n",i); /*顺序表查找*/ p rintf("input the position of insert:\n"); s canf("%d",&i); p rintf("input the value of insert\n"); s canf("%d",&x); I nsertList(&L,x,i); /*顺序表插入*/ P rintList(&L,n); /*打印插入后的顺序表*/ p rintf("input the position of delete\n"); s canf("%d",&i); D eleteList(&L,i); /*顺序表删除*/ P rintList(&L,n); /*打印删除后的顺序表*/ g etchar(); } /*顺序表的建立:*/ void CreateList(SeqList *L,int n) {int i; printf("please input n numbers\n"); for(i=1;i<=n;i++) scanf("%d",&L->data[i]); L->length=n;

顺序表实验报告

嘉应学院计算机学院 实验报告 课程名称数据结构实验名称线性表实验地点锡科405 指导老师巫喜红实验时间第2-3周提交时间第3周 班级1303班姓名魏振辉学号131110108 一、实验目的和要求 编写一个程序algo2-1.cpp,实现顺序表的各种基本运算 二、实验环境、内容和方法 实验内容: 1.初始化线性表L; 2.依次采用尾插法插入a,b,c,d,e元素; 3.输出顺序表L; 4.输出顺序表L的长度; 5.判断顺序表L是否为空; 6.输出顺序表L的第3个元素; 7.输出元素a的位置; 8.在第4个元素位置上插入f元素; 9.输出顺序表L; 10.删除L的第3个元素; 11.输出顺序表L; 12.释放顺序表L。 实验环境:Windows xp Visual C++6.0 三、实验过程描述 (详见本文件夹) 四、结果分析 运行结果如下图所示: 初始化线性表,先定义一个变量num,用while循环配合switch语句的使用来达到在未选择退出即num不等

时一直提示操作的效果,每执行一次操都会先运行fflush(stdin)函数来清除缓存区,避免下次操作受到干扰; 1、往线性表里插入元素,位置和元素用空格隔开; 2、查询线性表是否为空 3、输出顺序表 4、查询线性表长度

5、查询某位置的元素。执行查询操作时先用if语句判断查询元素的函数LocateElem(L,e)返回的值来执行不的操作,当返回的值为0时则所查元素不在线性表中; 6、查询木元素的位置。用if语句判断是否正确输入; 7、删除某元素。 8、释放顺序表 9、退出。用if语句每次执行操作时都判断一次指令是否正确。 五、实验总结

顺序表的查找、插入与删除实验报告

《数据结构》实验报告一 学院:班级: 学号:姓名: 日期:程序名 一、上机实验的问题和要求: 顺序表的查找、插入与删除。设计算法,实现线性结构上的顺序表的产生以及元素的查找、插入与删除。具体实现要求: 1.从键盘输入10个整数,产生顺序表,并输入结点值。 2.从键盘输入1个整数,在顺序表中查找该结点的位置。若找到,输出结点的位置;若找 不到,则显示“找不到”。 3.从键盘输入2个整数,一个表示欲插入的位置i,另一个表示欲插入的数值x,将x插 入在对应位置上,输出顺序表所有结点值,观察输出结果。 4.从键盘输入1个整数,表示欲删除结点的位置,输出顺序表所有结点值,观察输出结果。 二、源程序及注释: #include #include /*顺序表的定义:*/ #include #define ListSize 100 /*表空间大小可根据实际需要而定,这里假设为100*/ typedef int DataType; /*DataType可以是任何相应的数据类型如int, float或char*/ typedef struct { DataType data[ListSize]; /*向量data用于存放表结点*/ int length; /*当前的表长度*/ }SeqList; void main() { SeqList L; int i,x; int n=10; /*欲建立的顺序表长度*/ L.length=0; void CreateList(SeqList *L,int n); void PrintList(SeqList L,int n); int LocateList(SeqList L,DataType x); void InsertList(SeqList *L,DataType x,int i); void DeleteList(SeqList *L,int i);

顺序表的应用数据结构实验报告记录

顺序表的应用数据结构实验报告记录

————————————————————————————————作者:————————————————————————————————日期:

大学数据结构实验报告 课程名称数据结构实验第(三)次实验实验名称顺序表的应用 学生姓名于歌专业班级学号 实验成绩指导老师(签名)日期2018年9月30日一、实验目的 1.学会定义线性表的顺序存储类型,实现C程序的基本结构,对线性表的一些基本操作和具体的函数定义。 2.掌握顺序表的基本操作,实现顺序表的插入、删除、查找以及求并集等运算。 3.掌握对多函数程序的输入、编辑、调试和运行过程。 二、实验要求 1.预习C语言中结构体的定义与基本操作方法。 2.对顺序表的每个基本操作用单独的函数实现。 3.编写完整程序完成下面的实验内容并上机运行。 4.整理并上交实验报告。 三、实验内容: 1.定义一个包含学生信息(学号,姓名,成绩)的顺序表,使其具有如下功能: (1)根据指定学生个数,逐个输入学生信息 (2)逐个显示学生表中所有学生的相关信息 (3)根据姓名进行查找,返回此学生的学号和成绩 (4)根据指定的位置可返回相应的学生信息(学号,姓名,成绩) (5)给定一个学生信息,插入到表中指定的位置 (6)删除指定位置的学生记录 (7)统计表中学生个数 四、实验设计 1.定义一个包含学生信息(学号,姓名,成绩)的顺序表,使其具有如下功能: (1)根据指定学生个数,逐个输入学生信息 for(count=0; count

顺序表的建立及其基本操作技巧

山东师范大学 实验报告 课程:数据结构班级:2016级通信2班实验序号: 1 姓名:韩明达 学号: 201611030230 实验日期:9.17 题目: 顺序表的建立和运算 一、实验目的和要求 (1)熟悉C语言的上机环境,进一步掌握C语言的结构特点。 (2)掌握线性表的顺序存储结构的定义及基本运算 二、实验环境 Windows10,Visual Studio 2017 三、实验内容及实施 实验内容 1、建立一个顺序表,输入n个元素并输出; 2、查找线性表中的最大元素并输出; 3、在线性表的第i个元素前插入一个正整数x; 4、删除线性表中的第j个元素; 5、将线性表中的元素按升序排列; 【程序流程图】

【程序】 #include #include using namespace std; #define MAXSIZE 100 #define OK 1 #define ERROR 0 #define OVERFLOW -2 typedef struct { //定义顺序表结构 int data[MAXSIZE]; //存储空间的基地址; int length; //当前表长 }SqList; int InitList(SqList &L) //初始化顺序表 { L.length = 0; //当前长度为0 return OK; } void ShowList(SqList &L) //显示顺序表 { cout << "您构建的顺序表为:" << endl; //提示int i; for (i = 0; i < L.length; i++) { cout << L.data[i] << " ";

顺序表定义和使用实验报告

题目:顺序表的定义与使用 一.实验要求:(1)用C/C++定义顺序表的存储结构(2)至少实现四个基本操作(初始化,创建,插入,删除等)(3)使用定义的顺序表实现表内的顺序逆置 二.抽象数据类型 Status Chushih_L(SeqList &l); void Create_L(SeqList &l); Status Insert_L(SeqList &l); Status Delete_L(SeqList &l); Status chazhao_L(SeqList &l); Status nizhi_L(SeqList &l); void Merge_L(SeqList La,SeqList Lb,SeqList Lc); void Print_L(SeqList &l); 三.存储结构 typedef int Status; typedef int ElemType; typedef struct { ElemType *elem; int length; int size; }SeqList; 四.基本操作: Status Chushih_L(SeqList &l){ //l.elem=(ElemType*)malloc(sizeof(ElemType)); l.elem=new ElemType[Size]; if(!l.elem) exit(OVERFLOW); l.length=0; return OK; } void Create_L(SeqList &l){ int n; cout<<"输入表的长度:"<>n; l.length=n; cout<<"输入表中的元素:"; for(int i=0;i

线性表逆置(顺序表)实验报告

实验一:线性表逆置(顺序表)实验报告 (一)问题的描述: 实现顺序表的逆置算法 (二)数据结构的设计: 顺序表是线性表的顺序存储形式,因此设计如下数据类型表示线性表: typedef struct { ElemType *elem; /* 存储空间基址*/ int length; /* 当前长度*/ int listsize; /* 当前分配的存储容量(以sizeof(ElemType)为单位) */ }SqList; (三)函数功能、参数说明及概要设计: 1.函数Status InitList(SqList *L) 功能说明:实现顺序表L的初始化 算法设计:为顺序表分配一块大小为LIST_INIT_SIZE的储存空间 2.函数int ListLength(SqList L) 功能说明:返回顺序表L长度 算法设计:返回顺序表中的length变量 3.函数Status ListInsert(SqList *L,int i,ElemType e) 功能说明:将元素e插入到顺序表L中的第i个节点 算法设计:判断顺序表是否已满,已满则加空间,未满则继续,将元素e插入到第i个元素之前,并将后面的元素依次往后移 4.函数Status ListTraverse(SqList L,void(*vi)(ElemType*)) 功能说明:依次对L的每个数据元素调用函数vi() 算法设计:依次对L的每个数据元素调用函数vi() 5.函数void Exchange(SqList *L) 功能说明:实现顺序表L的逆置 算法设计:用for循环将顺序表L中的第i个元素依次与第(i+length)个元素交换6.函数void print(ElemType *c) 功能说明:打印元素c 算法设计:打印元素c 2. (四)具体程序的实现

顺序表的基本操作实验报告

湖南第一师范学院信息科学与工程系实验报告 课程名称:数据结构与算法成绩评定: 实验项目名称:顺序表的基本操作指导教师:王杰文 学生姓名:沈丽桃学号:10403080118 专业班级:教育技术 实验项目类型:验证性实验地点:科B305 实验时间: 2011年 10月8 日一、实验目的与要求: 实验目的:实现顺序表的创建、查找、插入、删除与输出 基本原理:顺序表的基本操作 二、实验环境:(硬件环境、软件环境) 1.硬件环境:奔ⅣPC。 2.软件环境:Windows XP 操作系统,TC2.0或VC++。 三、实验内容:(原理、操作步骤、程序代码等) #include # define maxlength 100 /#后不应该有空格/ struct LIST { int elements[maxlength]; int last; }L; typedef int position; void main() { position p,p1; /p和x最好赋值/ int x,x1,i,choice; position Locate(int x,struct LIST*y); void Insert(int x,position p,struct LIST*y); void Delete(position p,struct LIST *y); printf("option:Locate 1,Insert 2,Delete 3\n"); printf("please choice:"); scanf("%d",&choice); switch(choice) { case 1: { printf("please input a number:"); scanf("%d",&x); p1=Locate(x,&L); if(p1==101) printf(“the number does not exist”);

实验报告01-顺序表的基本操作

实验目的及要求: 了解和掌握顺序表的特点; 掌握顺序表基本操作的实现; 要求完成顺序表的初始化、插入、删除、显示操作的实现。实验设备环境及要求: PC机一台,内存要求128M以上,VC++6.0集成开发环境。实验内容与步骤: 1、在VC++6.0环境中新建一个工程和C++文件; 2、实现顺序表初始化、插入、删除算法,代码如下: #include #include #define MaxSize 100 typedef char ElemType; typedef struct{ ElemType *elem; int length; }SqList; int InitList_Sq(SqList &L){ L.elem = (ElemType *)malloc(MaxSize*sizeof(ElemType)); if(!L.elem) return 0; L.length = 0; return 1; } int ListInsert_Sq(SqList &L,int i,ElemType e){ if(i<1||i>L.length+1) return 0; ElemType *p; ElemType *q=&L.elem[i-1]; for(p=&L.elem[L.length-1];p>=q;--p) *(p+1)=*p; *q=e; ++L.length; return 1; } int ListDelete_Sq(SqList &L,int i,ElemType &e){ if(i<1||i>L.length) return 0; ElemType *p=&(L.elem[i-1]); e=*p;

数据结构实验一_顺序表的基本操作实验报告

实验一顺序表的基本操作 一、实验目的 掌握线性表的顺序表基本操作:建立、插入、删除、查找、合并、打印等运算。 二、实验要求包含有头文件和main函数; 1.格式正确,语句采用缩进格式; 2.设计子函数实现题目要求的功能; 3.编译、连接通过,熟练使用命令键; 4.运行结果正确,输入输出有提示,格式美观。 三、实验设备、材料和工具 1.奔腾2计算机或以上机型 2.turboc2,win-tc 四、实验内容和步骤 1. 建立一个含n个数据元素的顺序表并输出该表中各元素的值及顺序表的长度。 2. 往该顺序表中第i位置插入一个值为x的数据元素。 3. 从该顺序表中第j位置删除一个数据元素,由y返回。 4. 从该顺序表中查找一个值为e的数据元素,若找到则返回该数据元素的位置,否则返回“没有找到”。 五、程序 #include #include #define list_init_size 10 #define increment 2

typedef struct { int *elem; int length,listsize; }sqlist; //类型定义 void initlist_sq(sqlist &L) //初始化顺序表 { } void output(sqlist L) //输出顺序表 { } void insertlist(sqlist &L,int i, int x) //顺序表中插入x { } void deletelist(sqlist &L,int j, int y) //顺序表中删除y { } int locateelem(sqlist &L,int e) //顺序表中查找e { } void main() { } 【运行结果】 void initlist_sq(sqlist &L) //初始化顺序表 { L.elem=(int*)malloc(LIST_INIT_SIZE*sizeof(int)); if(!L.elem) exit (OVERFLOW);

顺序表的基本操作

《数据结构》实验报告一 顺序表的基本操作 班级:网络工程学号: 实验日期:姓名:邓宗永 程序文件名及说明:sequenlist 顺序表 一、实验目的 1、掌握使用Turbo 上机调试线性表的基本方法; 2、掌握顺序表的基本操作:插入、删除、查找以及线性表合并等运算。 二、实验要求 1、认真阅读和掌握实验的程序。 2、上机运行程序。 3、保存和打印出程序的运行结果,并结合程序进行分析。 4、按照你对线性表的操作需要,编写写主程序并运行,打印出文件清单和运行结果 三、注意事项: 在磁盘上创建一个目录,专门用于存储数据结构实验的程序。 四、实验内容 1.顺序表的查找、插入与删除。设计算法,实现线性结构上的顺序表的产生以及元素的查找、插入与删除。具体实现要求: (1)从键盘输入10个整数,产生顺序表,并输入结点值。 (2)从键盘输入1个整数,在顺序表中查找该结点的位置。若找到,输出结点的位置;若找不到,则显示“找不到”。 (3)从键盘输入2个整数,一个表示欲插入的位置i,另一个表示欲插入的数值x,将x 插入在对应位置上,输出顺序表所有结点值,观察输出结果。 (4)从键盘输入1个整数,表示欲删除结点的位置,输出顺序表所有结点值,观察输出

结果。 五、实验报告必须写明内容 1.程序设计的基本思想,原理和算法描述:(包括程序的结构,数据结构,输入/输出设 计,符号名说明等) 程序的结构:通过子函数实现输出,删除,插入,查找等功能,高耦合低内聚 数据结构:线性结构,顺序储存 输入/输出设计:根据屏幕提示,从键盘读取数据 2.源程序及注释: #include <> #include <> typedef int datatype; #define maxsize 10 typedef struct //创建一个顺序表包含10个整数 { datatype data[maxsize]; int last; }sequenlist; void Delete(sequenlist *L,int i)//删除前移节点 {int j; if((i<1)||(i>L->last+1)) {printf("error");} else {for(j=i;j<=L->last;j++) L->data[j-1]=L->data[j]; L->last--;

1.C语言顺序表实验报告

实验报告要求 一、实验目的 二、实验内容 三、程序流程图 实验结果(要求检测所有情况的正确性,写出测试条件及相应的测试结果) 完成思考题 实验一顺序表的基本操作(2学时) 一、实验目的 了解顺序表的逻辑特征,掌握顺序表的描述方法、特点及有关的概念,掌握顺序表上的插入和删除等基本操作算法。 二、实验内容 在顺序表List[]中,实现顺序表的基本操作,包括:初始化顺序表,在表中插入元素、删除元素。 基本要求: 顺序表的元素个数可随意设定; 可连续测试任意多个元素的插入、删除,(插 入、删除位置及要插入元素数值均从键盘输入); 任一操作结束后将顺序表中的内容输出; 可由用户选择退出程序。 三、实验要点及说明 顺序表又称为线性表的顺序存储结构,它是用一组地址连续的存储单元依次存放线性表的各个元素。 可按如下格式定义顺序表: #define MAXLEN 50 /* 定义顺序表最大元素个数50 */ typedef struct{ datatype List[MAXLEN];/* 定义顺序表List */ int Num; /* 定义顺序表表长*/ }Seqlist; 模块划分:(1)initiq( )函数:初始化顺序表 (2)insertq( )函数:实现插入功能 (3)deleteq( )函数:实现删除功能 (4)print( )函数:实现输出功能 四、参考源程序 #include <> #define MAXLEN 50 typedef int datatype; typedef struct{ datatype List[MAXLEN]; int Num; }Seqlist; void initiq(Seqlist *la ); int insertq(Seqlist *la,int n);

数据结构顺序表实验报告

洛阳理工学院实验报告 系别计算机班级学号姓名 课程名称数据结构实验日期10/23 实验名称顺序表的基本操作成绩 实验目的: 熟悉掌握线性表顺序存储结构,掌握与应用顺序表的查找、插入、删除等基本操作算法,训练和提高结构化程序设计能力及程序调试能力。 实验条件: 计算机一台,Visual C++ 实验内容: 问题描述 以顺序表为存储结构实现以下基本操作: 在第i个元素前插入一个新元素。 查找值为x的某个元素。若成功,给出x在表中的位置;不成功给出提示信息。删除第i个元素,若成功,给出提示信息并显示被删元素的值;不成功给出失败的提示信息。 数据结构类型定义 typedef struct { ElemType elem[MAXSIZE]; Int last; }SeqList; 模块划分 (1)创建顺序表输入函数:void Input(SeqList *L,int n); (2)创建顺序表输出函数:void Output(SeqList *L); (3)创建顺序表的内容查找函数:int Locate(SeqList L,ElemType e); (4)创建顺序表的插入函数:int InsList(SeqList *L,int i,ElemType e); (5)创建顺序表的删除函数:int DelList(SeqList *L,int i,ElemType *e); (6)主函数:void main() 详细设计 #include <> #include <> #include <> #define OK 1 #define ERROR -1 #define TRUE 1 #define FALSE 0 #define ElemType int #define MAXSIZE 100 试数据及结果

顺序表的基本操作与应用实验报告

实验报告 课程名称数据结构实验名称顺序表基本操作与应用 姓名专业班级学号 试验日期试验地点E3-502指导老师邹汉斌成绩 一、实验目的 1.学会定义线性表的顺序存储类型,实现C程序的基本结构,对线性表的一些基本操作和具体的函数定义。 2.掌握顺序表的基本操作,实现顺序表的插入、删除、查找以及求并集等运算。 3.掌握对多函数程序的输入、编辑、调试和运行过程。 二、实验要求 1.预习C语言中结构体的定义与基本操作方法。 2.对顺序表的每个基本操作用单独的函数实现。 3.编写完整程序完成下面的实验内容并上机运行。 4.整理并上交实验报告。 三、实验内容: 1.编写程序实现顺序表的下列基本操作: (1) 初始化顺序表La;(2) 将La置为空表;(3) 销毁La (4) 在La中插入一个新的元素;(5) 删除La中的某一元素;(6) 在La中查找某元素,若找到,则返回它在La中第一次出现的位置,否则返回0 ;(7) 打印输出La中的元素值。 2.定义一个包含学生信息(学号,姓名,成绩)的顺序表,使其具有如下功能: (1) 根据指定学生个数,逐个输入学生信息;(2) 逐个显示学生表中所有学生的相关信息;(3) 根据姓名进行查找,返回此学生的学号和成绩;(4) 根据指定的位置可返回相应的学生信息(学号,姓名,成绩);(5) 给定一个学生信息,插入到表中指定的位置;(6) 删除指定位置的学生记录;(7) 统计表中学生个数。 实验提示: 第2题可在第1题的基础上将数据结构的定义修改成下面形式后,程序适当修改即可。 学生信息的定义: typedef struct { char no[8]; //8位学号 char name[20]; //姓名 int score; //成绩 }Student; typedef Student ElemType; 顺序表的定义 typedef struct { ElemType *elem; //指向数据元素的基地址 int length; //线性表的当前长度 }SqList; 四、思考与提高 1.编写程序完成下面的操作:(每位同学必做)

数据结构-顺序表的查找实验报告

计算机科学与技术系 实验报告 专业名称计算机科学与技术 课程名称《数据结构》 项目名称顺序表查找 班级 学号 姓名 同组人员无 实验日期

一、实验目的与要求: (简述本次实验要求达到的目的,涉及到的相关知识点,实验的具体要求。)(一)实验目的: 应用顺序表来实现对数据的查找 (二)实验要求: 用顺序表实现对数据进行查找 (三)实验环境: VC++6.0. 二、实验内容 #include #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); int ListLocate(Sqlist *L,ElemType e); //初始化顺序表 int InitList_sq(Sqlist *L){ L->slist=(ElemType*)malloc(INIT_SIZE*sizeof(ElemType)); if(!L->slist) return ERROR; L->length=0; L->listsize=INIT_SIZE; return OK; }/*InitList*/ //创建顺序表 int CreateList_sq(Sqlist *L,int n){

顺序表的操作实验报告

顺序表的基本操作 一、实验目的 1、复习C++语言程序设计中的知识。 2、熟悉线性表的逻辑结构。 3、熟悉线性表的基本运算在两种存储结构上的实现。 4、掌握顺序表的存储结构形式及其描述和基本运算的实现。 5、熟练掌握动态链表结构及有关算法的设计 二、实验内容 实现顺序表的建立、取元素、修改元素、插入、删除等顺序表的基本操作。 [基本要求] (1).依次从键盘读入数据,建立带头结点的顺序表; (2).输出顺序表中的数据元素 (3).根据指定条件能够取元素和修改元素; (4).实现在指定位置插入和删除元素的功能。 三、实验步骤、调试及输出结果 (—) . 数据结构与核心算法的设计描述: #include #include /*顺序表的定义:*/ #define ListSize 100 typedef struct {int elem[ListSize]; /*向量elem用于存放表结点*/ int length; /*当前的表长度*/ }SeqList; /*顺序表的建立:*/ void CreateList(SeqList *L,int n) {int i; printf("please input n numbers:\n"); for(i=1;i<=n;i++) scanf("%d",&L->elem[i]); L->length=n;

} /*顺序表的打印:*/ void PrintList(SeqList *L,int n) {int i; printf("the sqlist is\n"); for(i=1;i<=n;i++) printf("%d ",L->elem[i]); printf("\n"); } /*顺序表的查找:*/ int LocateList(SeqList *L,int x) {int i; i=1; while (((L->elem[i])!=x) &&(i<=10)) ++i; if ((L->elem[i])==x) return(i); else return(0); } /*顺序表的插入:*/ void InsertList(SeqList *L,int x,int i) {int j; if (i<1 ||i>L->length+1) printf("no insert position!\n"); else {for(j=L->length;j>=i;j--) L->elem[j+1]=L->elem[j]; L->elem[i]=x; L->length++; } } /*顺序表的删除:*/

顺序表的基本操作实验报告

竭诚为您提供优质文档/双击可除顺序表的基本操作实验报告 篇一:顺序表的基本操作--实验报告 实验报告 附:源程序: #include #definemaxsize100 #defineerror0 #defineok1 typedefstruct { intelem[maxsize];intlast;}seqList; intInsList(seqList*L,inta,inti); intLocate(seq ListL,inte); intDel(seqList*L,inti); voidmain() {

inti,e,a;intlist1,list2; if(L.elem[https://www.wendangku.net/doc/5f5018887.html,st]==-1)seqListL;https://www.wendangku.net/doc/5f5018887.html,st=0;for(i=0;i list1=InsList(if(list1){}elseprintf("插入失败!");printf("要查找的元素为\n");scanf("%d",printf("插入后的顺序表为:\n");for(i=0;i list2=Locate(L,e); if(!list2)printf("该元素不存在\n"); }printf("该元素所在位置的序号为:%d\n",list2);/*删除元素*/printf("是否要删除该元素? \n");intm;scanf("%d",if(m){Del(printf("删除后的顺序表为:\n");for(i=0;i intInsList(seqList*L,inta,inti)//i位置,下标i-1{ for(p=L->last;p>=i-1;p--)L->elem[p+1]=L->elem[p];in tp;if(L->last>=maxsize-1){}printf("表已满,无法插入");return(error);L->elem[i-1]=a;L->last++;return(ok ); intLocate(seqListL,inte){ } intDel(seqList*L,inti){ }for(k=i;klast;k++)L->elem[k-1]=L->elem[k];intk ;inti=0;while((ilast--;returnok;

顺序表实验报告

顺序表实验报告

计算机与信息技术学院综合性、设计性实验报告 课程名称数据结构指导教师李四 学号姓名16083240XX 张三 项目名称顺序表结构的操作实验类型综合性/设计性 实验时间2017.09.26 实验地点216机房 一、实验目的 (1)熟悉顺序表的创建、取值、查找、插入、删除等算法,模块化程序设计方法。 二、实验仪器或设备 (1)硬件设备:CPU为Pentium 4以上的计算机,内存2G以上 (2)配置软件:Microsoft Windows 7与VC++6.0 三、总体设计(设计原理、设计方案及流程等) 设计原理:顺序表的存储结构的特点是在逻辑上相邻的数据元素,其物理次序也是相邻的。 设计方案:采用模块化设计的方法,设计各个程序段,最终通过主函数实现各个程序的各个功能。设计时,需要考虑用户输入非法数值,所以要在程序中写入可以处理非法数值的代码。 设计流程: 1.引入所需的头文件; 2.定义状态值; 3.写入顺序表的各种操作的代码; 4.写入主函数,分别调用各个函数。在调用函数时,采用if结构进行判 断输入值是否非法,从而执行相应的程序。 四、实验步骤(包括主要步骤、代码分析等) #include // EOF(=^Z或F6),NULL #include // srand( ) ,rand( ),exit(n)

#include // malloc( ),alloc( ),realloc( )等 #include // INT_MAX等 #include #include #include // floor(),ceil( ),abs( ) #include // cout,cin #include // clock( ),CLK_TCK,clock_t #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -2 typedef int Status; // Status是函数的类型, //其值是函数结果状态代码,如OK等 typedef int ElemType; #define MAXSIZE 100 //最大长 度

数据结构实验报告-顺序表的创建、遍历及有序合并操作

数据结构实验报告-顺序表的创建、遍历及有序合并操作二、实验内容与步骤 实现顺序表的创建、遍历及有序合并操作,基本数据结构定义如下: typedef int ElemType; #define MAXSIZE 100 #define FALSE 0 #define TRUE 1 typedef struct {ElemType data[MAXSIZE]; int length; }seqlist; 创建顺序表,遍历顺序表 #include #include #define MAXSIZE 100 #define Icreament 20 #define FALSE 0

#define TRUE 1 typedef int ElemType; //用户自定义数据元素类型 // 顺序表结构体的定义 typedef struct { ElemType *elem; //顺序表的基地址 int length; //顺序表的当前长度 int listsize; //预设空间容量 }SqList; //线性表的顺序存储结构 SqList* InitList() //创建空的顺序表 { SqList* L = (SqList*)malloc(sizeof(SqList));//定义顺序表L if(!L) { printf("空间划分失败,程序退出\n"); return NULL; } L->elem=(ElemType *)malloc(MAXSIZE*sizeof(ElemType)); if(!L->elem) {

printf("空间划分失败,程序退出\n"); return NULL; } L->length=0; L->listsize=MAXSIZE; return L; } int CreateList(SqList* L) //创建顺序表(非空) { int number; //顺序表中元素的个数 int i; //循环变量 printf("请输入顺序表中元素的个数:"); scanf("%d",&number); if(number > MAXSIZE) //一定要判断输入的个数是否大于顺序表的最大长度 { printf("输入个数大于顺序表的长度\n"); return 0; } for(i=0;i

线性表逆置(顺序表)实验报告

实验一:线性表逆置(顺序表)实验报告 (一)问题的描述:实现顺序表的逆置算法 (二)数据结构的设计:顺序表是线性表的顺序存储形式,因此设计如下数据类型表示线性表:typedef struct { ElemType *elem; /* 存储空间基址*/ int length; /* 当前长度*/ int listsize; /* 当前分配的存储容量(以sizeof(ElemType) 为单位) */ }SqList; (三)函数功能、参数说明及概要设计: 1.函数Status InitList(SqList *L) 功能说明:实现顺序表L 的初始化算法设计:为顺序表分配 一块大小为LIST_INIT_SIZE 的储存空间 2.函数int ListLength(SqList L) 功能说明:返回顺序表L 长度算法设计:返回顺序表中的 length 变量 3.函数Status ListInsert(SqList *L,int i,ElemType e) 功能说明:将元素e插入到顺序表L中的第i个节点 算法设计:判断顺序表是否已满,已满则加空间,未满则继续,将元素e插入到第i个元素之前,并将后面的元素依次往后移 4.函数Status ListTraverse(SqList L,void(*vi)(ElemType*)) 功能说明:依次对L 的每个数据元素调用函数vi() 算法设计:依次对L 的每个数据元素调用函数vi() 5.函数void Exchange(SqList *L) 功能说明:实现顺序表L 的逆置 算法设计:用for 循环将顺序表L 中的第i 个元素依次与第( i+length )个元素交换 6.函数void print(ElemType *c) 功能说明:打印元素 c 算法设计:打印元素 c 2. (四)具体程序的实现

相关文档
相关文档 最新文档