img
share 分享

数据结构简明教程(第2版)-微课版

作者:李春葆、蒋林、方颖、喻丹丹、曾平

出版社:清华大学出版社

ISBN:9787302516309

VIP会员免费 (仅需0.8元/天) ¥ 32.18

温馨提示: 价值40000元的1000本电子书,VIP会员随意看哦!

电子书推荐

更多资源 展开

数据结构C语言实现系列——线性表.pdf 评分:

数据结构C语言实现系列——线性表 #include #include typedef int elemType; /************************************************************************/ /* 以下是关于线性表顺序存储操作的16种算法 */ /************************************************************************/ struct List{ elemType *list; int size; int maxSize; }; void againMalloc(struct List *L) { /* 空间扩展为原来的2倍,并由p指针所指向,原内容被自动拷贝到p所指向的存储空间 */ elemType *p = realloc(L->list, 2 * L->maxSize * sizeof(elemType)); if(!p){ /* 分配失败则退出运行 */ printf("存储空间分配失败! "); exit(1); } L->list = p; /* 使list指向新线性表空间 */ L->maxSize = 2 * L->maxSize; /* 把线性表空间大小修改为新的长度 */ } /* 1.初始化线性表L,即进行动态存储空间分配并置L为一个空表 */ void initList(struct List *L, int ms) { /* 检查ms是否有效,若无效的则退出运行 */ if(ms <= 0){ printf("MaxSize非法! "); exit(1); /* 执行此函数中止程序运行,此函数在stdlib.h中有定义 */ } L->maxSize = ms; /* 设置线性表空间大小为ms */ L->size = 0; L->list = malloc(ms * sizeof(elemType)); if(!L->list){ printf("空间分配失败! "); exit(1); } return; } /* 2.清除线性表L中的所有元素,释放存储空间,使之成为一个空表 */ void clearList(struct List *L) { if(L->list != NULL){ free(L->list); L->list = 0; L->size = L->maxSize = 0; } return; } /* 3.返回线性表L当前的长度,若L为空则返回0 */ int sizeList(struct List *L) { return L->size; } /* 4.判断线性表L是否为空,若为空则返回1, 否则返回0 */ int emptyList(struct List *L) { if(L->size ==0){ return 1; } else{ return 0; } } /* 5.返回线性表L中第pos个元素的值,若pos超出范围,则停止程序运行 */ elemType getElem(struct List *L, int pos) { if(pos < 1 || pos > L->size){ /* 若pos越界则退出运行 */ printf("元素序号越界! "); exit(1); } return L->list[pos - 1]; /* 返回线性表中序号为pos值的元素值 */ }

...展开详情
上传时间:2014-09 大小:89KB
热门图书