c语言写顺序表分成四个文件,c语言数据结构顺序表资料.doc

c语言数据结构顺序表资料.doc

数据结构上机实验 课后练习报告姓名冯天明学号班级通信1412015年9月28日星期一1、实验一编写一个程序,实现顺序表的各种基本运算,并在此基础上设计一个主程序完成以下功能。1.初始化顺序表L2.依次采用尾插法或者头插法插入元素a,b,c,d,e3.输出顺序表L4.输出顺序表的长度5.判断顺序表是否为空6.输出顺序表的第四个元素7.输出元素a的位置8.在第三个元素位置插入元素f9.输出顺序表L10.删除顺序表L的第四个元素11.输出顺序表L12.释放顺序表实验代码includestdio.hincludestdlib.hincludemalloc.hincludestring.hdefine MaxSize 20 设置顺序表的初始长度define ListAdd 5 每次申请增加的内存大小define OVERFLOW -1 define OK 0 define ERROR -2typedef char ElemType;typedef struct 顺序表定义ElemType *elem;int length;顺序表长度int listsize;顺序表占用的内存空间SqList;/初始化顺序表函数/void InitSq_ListSqList LL.elem new ElemTypeMaxSize; 在堆上申请内存ifL.elemexitOVERFLOW; 内存申请失败L.length 0;L.listsize L.length;/*创建一个顺序表*/void GreatSqListSqList L,int nint i;fori 0;i n;i 依次输入顺序表内容scanfc,L.elemi;fstdin;L.length;/*销毁顺序表/void DeatrotSqListSqList Ldelete L.elem; 释放指针指向的内存L.length 0;L.listsize 0;尾插法插入元素int SqList_InserSqList L,int i,ElemType eint j;ElemType *p;ifi1 iL.length 1 插入位置非法则退出return ERROR;ifL.length L.listsize 如果初始化申请的空间已满,则重新申请p ElemType *reallocL.elem,L.listsizeListAdd * sizeof ElemType ;ifp return OVERFLOW;L.elem p;L.listsize ListAdd;forjL.length - 1;ji-1;jL.elemj1 L.elemj; 元素依次往后移覆盖,实现删除L.elemi-1 e;L.length; return OK;/判断顺序表是否为空*/int ListEmptySqList Lreturn L.length 0;/*获取顺序表长度/int getList_LenSqList Lreturn L.length;/取出对应下标元素*/int getIndexSqList L,char elemint index 0;whileindexL.length if L.elemindex elem 判断元素是否相当return index1; 找到元素并返回下标index;return ERROR; 否则返回错误/根据下标取出对应的元素*/int LocateElemSqList L,int indexint i 0;ifindex L.length index1printf下标越界,无法查询;return ERROR;return L.elemindex-1;/删除指定位置的元素值/int DleteElemSqList L,int nint j;ifnL.length n1return ERROR;forj n-1;jL.length;jL.elemj L.elemj1;return OK;/*输出顺序表的内容*/void DisPlay_SqListSqList Lint i;ifListEmptyLreturn ; fori0;iL.length;iprintf4c,L.elemi;printfn;/*主函数/int mainSqList L; 定义一个顺序表对象ElemType e,elem;int index;int length 0;InitSq_ListL;printf初始化顺序表n;GreatSqListL,5;printf顺序表L为;DisPlay_SqListL;length getList_LenL;printf顺序表的长度为dn,length;ifListEmptyLprintf顺序表为空n;else printf顺序表不为空n;elem LocateElemL,1;e LocateElem L, 4;printf第四个元素为 cn,e;index getIndexL,elem;printf元素 c 的位置是第 d 个n,elem,index;printf在第三个位置插入元素 f;SqList_InserL,3,f;DisPlay_SqListL;DleteElemL,4;printf删除第四个元素;DisPlay_SqListL;DeatrotSqListL;return 0;C4D快捷键1ShiftC搜索功能2“C” (转换成可编辑)3“D”(挤压)4“I” Button(向内挤压)5“S”(帧选择)6 Control D(项目设置)7Shift V(视图设置)8ControlR(渲染视图)9Control B(渲染设置)Alt B(创建动画预览)10 AltD(隐藏坐标轴手柄)可能用到的常用快捷键自定义快捷键ALT1 实时选择ALT2 框选横向数字键1 点模式2 线模式3 面模式Q 模型模式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值