- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
线性表的交(The linear table)
线性表的交(The linear table)
# includes stdio.h
# includes malloc.h
# define list _ init _ size 100
# define listincrement 10
# define okay 1
# define specific 1
# define flase 0
# define error - 1
# define overflow - 2
typedef int status;
typedef int elemtype;
typedef struct {
elemtype * elem.
int length;
int listsize;
} sqlist, * psqlist;
status initlist (sqlist * l)
制空表 {/ * * /
l - elem = (elemtype *) malloc (10 * sizeof (elemtype)); / * 动态分布一个空间 * /
/ / if (! l - elem) exit (overflow);
l - length = 0; / * 当前线性表元素的个数 * /
l - listsize = list _ init _ 初始存储容量 size; / * * /
return ok;
}
status destroylist (sqlist * l)
销毁线性表 {/ * * /
free (l);
l - elem = null;
l - length = 0;
the listsize - = 0;
return ok;
}
status listlength (sqlist l)
{
return l.length;
}
status getelem (sqlist l, int i, elemtype *)
用e返回l的第i个数据元素的值 {/ * and * /
if (i 0 | | l.length) return flase;
* = l.elem [- 1].
return ture;
}
status locateelem (sqlist l, int, and status (*!) (elemtype, elemtype))
{
/ / 在顺序表中l, 查找第一个值与e满足compre () 的元素的位序;
elemtype * p;
int i = 1;
p = l.elem;
while (i = l.length ! as * (p + +)) + + i;
if ( = l.length)
return i;
else return 0;
}
status equal (elemtype, elemtype and)
{/ / 定义equal () 函数
if (a = = and) return 1;
else return 0;
}
status listinsert (sqlist * l, int i, elemtype and)
在线性表的第i个位子插入e {/ * and * /
elemtype * newbase, * p, * q;
if (i 0 | | l length) return error;
else if (- - = the length listsize)
{
newbase = (elemtype *) realloc (l - elem (l - listsize + listincrement) * sizeof (elemtype));
/ * if (! newbase) exit (2); * /
}
q = (1 - elem [- 1]).
* q = and.
p = (1 - elem [l - length - 1]).
for (; p = q; p) * (p + 1) = * p;
+ + + + + + + l - length;
return ok;
}
status listdelel (sqlist * l, int i, elemtype *)
{
elemtype * p * q;
q = (1 - elem [- 1]).
* = l - elem [- 1].
p = (1 - elem [l - length - 1]).
for (; p = q; + + q) (q - 1) = * q;
- (1 - length).
return ok;
}
/ / / (表的合并...
void united (sqlist , sqlist lb)
{
int the _ l, l
您可能关注的文档
- 汽车维修制度文本汇编(Vehicle maintenance system text compilation).doc
- 汽车维修常识(Common sense of automobile maintenance).doc
- 汽车电脑板维修基础知识(Basic knowledge of automobile computer board maintenance).doc
- 汽车维修资料(Vehicle maintenance data).doc
- 汽车维护保养大全-专家把脉汽车冷故障(Car maintenance Daquan - car experts feel the pulse of cold fault).doc
- 汽车维修发展(Automobile maintenance development).doc
- 汽车维修技术(Automobile maintenance technology).doc
- 汽车美容铺创业计划书(Business plan for car beauty shop).doc
- 汽车维修(Automobile maintenance).doc
- 汽车考试理论秘籍(Automobile test theory cheats).doc
文档评论(0)