电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

线性表的另一种实现--数据结构课程设计报告

线性表的另一种实现--数据结构课程设计报告_第1页
1/8
线性表的另一种实现--数据结构课程设计报告_第2页
2/8
线性表的另一种实现--数据结构课程设计报告_第3页
3/8
《数据结构》课程设计报告一、课程设计的内容、要求1 线性表的另一种实现. 对顺序表空间被耗尽问题的一个解决办法是:当数组溢出时,用一个更大的数组替换该数组。一个较好的法则是:当出现溢出时,数组长度加长一倍具有较高的时间和空间效率。参照教材中顺序表的有关内容,按上面的要求实现顺序表,并测试当数组溢出时你的实现的运作情况。二、所采纳的数据结构ADT List{数据对象: D = {ai|ai ∈ElemSet, i=1,2…n>=0}数据关系: R1={〈ai-1, ai>|ai-1, ai∈D, i=1,2,…,n}基本操作:void IniList(SqList& L);void DestroyList(SqList& L);bool ListEmpty(SqList L);int ListLength(SqList L);void GetElem(SqList L, int i, Elem &e);bool PriorElem(SqList L, Elem cur_e, Elem &pre_e);bool NextElem(SqList L, Elem cur_e, Elem &next_e);void ListInsert(SqList &L, int i, Elem e);void ListDelete(SqList &L, int i);void ClearList(SqList& L);}三、主要模块(或函数)及其功能typedef struct LIST{ElemType *data;int size;int max_size; }LIST;void InitList(LIST *list)//初始化{list—〉data = (int*)malloc(sizeof(ElemType)*INIT_SIZE);list—〉size = 0;list->max_size = INIT_SIZE;}void DestroyList(LIST &list){list.size = 0; list。max_size = 0;free(list.data);}bool ListEmpty(LIST list){if(list。size 〉 0) return false;else return true;}int ListLength(LIST list){return list.size;}bool GetElem(LIST list,int i,ElemType &e){if(i < 1 || i > list。size) return false;else{e = list。data[i];return true;}}int LocateElem(LIST list, ElemType e,bool (*compare)(ElemType, ElemType)) { // 在顺序线性表 L 中查找第 1 个值与 e 满足 compare()的元素的位序.// 若找到,则返回其在 L 中的位序,否则返回 0。int i;ElemType *p;i = 0; p = list。data; while (i <= list.size && !(*compare)(*p++, e)) ++i;if (i <= list。size) return i;else return 0;} bool PriorElem(LIST list,int cur_e,int &pre_e)//前驱{if(cur_e < 0 || cur_e 〉 list.size ) ret...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

线性表的另一种实现--数据结构课程设计报告

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部