多个c语言源文件,多个源文件的执行顺序是?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include "z_bo2-1.c" 这个头文件的代码

Status Init_list(sqlist *l)

{ //构造一个空的顺序线性表

(*l).elem=(ElemType *) malloc(LIST_INIT_SIZE*sizeof(ElemType));

if(!(*l).elem)

exit(-1);//异常退出

(*l).length=0; //初始化长度为:0

(*l).listsize= LIST_INIT_SIZE; //初始哈存储容量

}

Status Destroy_list(sqlist & l)

{}//销毁顺序线性表

free(l.elem);

l.elem=NULL;

L.length=0;

l.listsize=0;

}

Status Clear_list(sqlist & l)

{}//重置线性表为空表

l.length=0;

}

Status List_empty(sqlist & l)

{} //判读线性表若为空表,则返回TRUE ; 否则返回FALSE

if(l.length==0)

return TRUE;

else

return FALSE;

}

int List_length(sqlist & l)

{} //返回l中数据元素的个数

return l.length;

}

Status Get_elem(sqlist l,int i, ElemType &e)

{}//用e返回l中第i个数据元素的值

if(i<1 || i>l.length)

return ERROR;

e=*(l.elem+i+1);

return OK;

}

int Locate_elem(sqlist l,ElemType e,Staus(*compare)(ElemType,ElemType))

{} // campare()是数据元素判定函数(满足为 1, 否则为 0?

//返回l中第一个与e满足关系compare()的数据元素的位序

//若这样的数据元素不存在,则返回值为 0。

ElemType *p;

int i =1;

p=l.elem;

while(i<=l.length && !compare(*p++,e))

i++;

if(i<=l.length)

return i;

else

return 0;

}

Status Prior_elem(sqlist l,ElemType cur_e, ElemType &pre_e)

{} //若cur_e是l的数据元素,且不是第一个,则用pre_e返回它的前?

//否则操作失败,pre——无定义

int i=2;

ElemType *p=l.elem+1;

while(i<=l.length && *p!=cur_e)

{

p++;

i++;

}

if(i>l.length)

return INFEASIBLEL; //操作失败

else

{

pre_e=*--p; // *--p是获取--p的地址

return OK;

}

}

Status Next_elem(sqlist l,ElemType cur_e, ElemType &next_e)

{} //若cur_e是L的数据元素,且不是最后一个,则用next_e返回它的后继?

//否则操作失败,next_e无定义

int i=1;

ElemType *p=l.elem;

while(i

{

i++;

p++;

}

if(i==l.length)

return INFEASIBLEL; //操作失败

else

{

next_e=*++p;

return OK;

}

}

Status List_insert(sqlist &l,int i, ElemType e)

{} //在L中第i个位置之前插入新的数据e,l的长度加

ElemType *newbase,*q,*p;

if(i<1 || i>l.length+1)

return ERROR;

if(l.length>=l.listsize)

{

if(!(newbase=(ElemType *)realloc(l.elem,(l.listsize+LIST_INCREMENT)*sizeof(ElemType))))

exit(-1); //存储分配失败

l.elem=newbase; //新地址

l.listsize+=LIST_INCREMENT;//增加存储容量

}

q=l.elem+i-1;

for(p=l.elem+l.length-1; p>=p; p++)

*(p+1)=*p;

*q=e;

++l.length;

return OK;

}

Status List_delete(sqlist &l,int i, ElemType &e)

{} //删除l的第i个数据元素,并用e返回其值,l的长度减

ElemType *q, *q;

if(i<1 || l.length) //i值不合法

return ERROR;

P=L.elem+i-1;//p为被删除元素的位置

e=*p; // 被删除元素的值赋给e

q=l.elem+l.length-1; // 表尾元素的位置

for(++p; p<=p; ++p) // 被删除元素之后的元素左移

*(p-1)=*p;

l.length--;

return OK;

}

Status List_traverse(sqlist l,void(*vi)(ElemType&))

{} //依次对L的每个数据原调用函数vi(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值