电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOC文档下载
分享到微信 分享到微博 分享到QQ空间

顺序存储结构线性表基本操作纯C语言实现

  • 资源ID:431758471       资源大小:32.51KB        全文页数:7页
  • 资源格式: DOC        下载积分:15金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要15金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

顺序存储结构线性表基本操作纯C语言实现

/ /- /            顺序存储结构线性表基本操作 纯C语言实现 / /            a simple example of Sq_List by C language / /                    by wangweinoo1PG /- / #include <stdio.h> #include <stdlib.h>/以下为函数运行结果状态代码 #define TRUE 1#define FALSE 0#define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -2 #define LIST_INIT_SIZE 5  /线性表存储空间的初始分配量 #define LISTINCREMENT 1  /线性表存储空间分配增量 typedef int Status; /函数类型,其值为为函数结果状态代码 typedef int ElemType; /假设数据元素为整型 typedef struct     ElemType *elem; /存储空间基址     int length; /当前长度     int listsize; /当前分配的存储容量 Sqlist; /实现线性表的顺序存储结构的类型定义/*static*/ Sqlist L;/为了引用方便,定义为全局变量/*static*/ ElemType element;Status InitList(Sqlist L);Status DestroyList(Sqlist L);Status ClearList(Sqlist L);Status ListEmpty(Sqlist L);Status ListLength(Sqlist L);Status GetElem(Sqlist L,int i, ElemType *element);Status LocationElem(Sqlist L,ElemType element);Status PriorElem(Sqlist L,ElemType cur_e,ElemType *pre_e);Status NextElem(Sqlist L,ElemType cur_e,ElemType *next_e);Status ListInsert(Sqlist L,int i,ElemType e);Status ListDelet(Sqlist L,int i,ElemType e);/函数名:InitList()/参数:SqList L/初始条件:无/功能:构造一个空线性表/返回值:存储分配失败:OVERFLOW/        存储分配成功:OK/Status InitList(Sqlist L)    L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType);    if(L.elem=NULL)        exit(OVERFLOW);    else            L.length=0;        L.listsize=LISTINCREMENT;        return OK;    /函数名:DestroyList()/参数:SqList L/初始条件:线性表L已存在/功能:销毁线性表/返回值:L.elem=NULL:ERROR/        L.elem!=NULL:OK/Status DestroyList(Sqlist L)    if(L.elem=NULL)        return ERROR;    else        free(L.elem);    return OK;/函数名:ClearList()/参数:SqList L/初始条件:线性表L已存在/功能:清空线性表/返回值:L.elem=NULL:ERROR/        L.elem!=NULL:OK/Status ClearList(Sqlist L)    int i; if(L.elem=NULL)        exit(ERROR);    int i;    ElemType *p_elem=L.elem;    for(i=0;i<L.length;i+)            *L.elem=NULL;        L.elem+;        L.elem=p_elem;    return OK;/函数名:ListEmpty()/参数:SqList L/初始条件:线性表L已存在/功能:判断线性表是否为空/返回值:空:TRUE/        非空:FALSE/Status ListEmpty(Sqlist L)    int i;    ElemType *p_elem=L.elem;    for(i=0;i<L.length;i+)            if(*L.elem!=0)                    L.elem=p_elem;            return FALSE;                L.elem+;        return TRUE;/函数名:ListLength()/参数:SqList L/初始条件:线性表L已存在/功能:返回线性表长度/返回值:线性表长度(L.length)/Status ListLength(Sqlist L)    return L.length;/函数名:GetElem()/参数:SqList L,int i,ElemType *element/初始条件:线性表L已存在,1<=i<=ListLength(L)/功能:用e返回线性表中第i个元素的值/返回值:(i<1)|(i>ListLength(L):OVERFLOW/        1<=i<=ListLength(L):OK/Status GetElem(Sqlist L,int I, ElemType *element)    int j;    ElemType *p_elem=L.elem;    if(i<1|i>L.length)        return OVERFLOW;    for(j=1;j<=i;j+)        L.elem+;    *element=*L.elem;/element=L.elem    L.elem=p_elem;    return OK;/函数名:LocateElem()/参数:Sqlist L,ElemType element/初始条件:线性表L已存在/功能:返回顺序表L中第1个与element相等的元素/返回值:若在L中存在于element相等的元素:其位序/        若在L中不存在与element相等的元素:0/Status LocationElem(Sqlist L,ElemType element)    int i;    ElemType *p_elem=L.elem;    for(i=1;i<L.length;i+)            if(*L.elem=element)                    L.elem=p_elem;            return i;                else            L.elem+;        return 0;/函数名:PriorElem()/参数:Sqlist L,ElemType cur_e,ElemType *pre_e/初始条件:线性表L已存在,i>1&&i<=L.length,LocationElem()存在/功能:用pre_e返回线性表中cur_e的前驱/返回值:i<=1|i>L.length:OVERFLOW/        i>1&&i<=L.length:OK/Status PriorElem(Sqlist L,ElemType cur_e,ElemType *pre_e)    int i,j;ElemType *p_elem=L.elem;    /int i,j;    i=LocationElem(L,cur_e);    if(i<=1|i>L.length)        exit(OVERFLOW);    /*for(j=1;j<i;j+)            if(j=(i-1)                    pre_e=L.elem;            L.elem=p_elem;       

注意事项

本文(顺序存储结构线性表基本操作纯C语言实现)为本站会员(博****1)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.