数据结构各种程序全集

上传人:第*** 文档编号:32759497 上传时间:2018-02-12 格式:DOC 页数:33 大小:205KB
返回 下载 相关 举报
数据结构各种程序全集_第1页
第1页 / 共33页
数据结构各种程序全集_第2页
第2页 / 共33页
数据结构各种程序全集_第3页
第3页 / 共33页
数据结构各种程序全集_第4页
第4页 / 共33页
数据结构各种程序全集_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《数据结构各种程序全集》由会员分享,可在线阅读,更多相关《数据结构各种程序全集(33页珍藏版)》请在金锄头文库上搜索。

1、/功能:顺序表实现线性表的基本功能#include #include #include const Maxsize=20; /定义线性表的最大长度enum returninfosuccess,fail,overflow,underflow,range_error;/定义返回信息清单class seqlist /定义一个线性表类 seqlistprotected:int dataarrayMaxsize; /数据域数组int count; /计数器 统计结点个数即线性表的长度public:seqlist(); /构造函数seqlist(); /析构函数 returninfo create(int

2、 number); /顺序表的初始化bool empty(void) const; /判断是否空int length(void) const; /求顺序表的长度returninfo traverse(void); /遍历顺序表所有元素returninfo get(int position,int /读取一个结点returninfo replace(int position,const int /修改一个结点returninfo insert(int position,const int /插入一个结点returninfo remove(int position); /删除一个结点returni

3、nfo invertlist(void); /顺序表所有数据反转;seqlist:seqlist() /构造函数count=0; /计数器清零,表明开始时没有实际数据seqlist:seqlist() /析构函数returninfo seqlist:create(int number)count=number;coutdataarrayi;return success;bool seqlist:empty(void)const /判断是否为空if(count=0) return true;elsereturn false;int seqlist:length(void)const /求顺序表的

4、长度return count; returninfo seqlist:traverse(void) /遍历顺序表中的所有元素if(empty()return underflow; /空表的处理coutcount) /处理意外return range_error;item=dataarrayposition-1; /返回读取的数据return success; /本次操作成功returninfo seqlist:replace(int position,const int &item) /修改一个元素if(empty() return underflow;if(positioncount)ret

5、urn range_error;dataarrayposition-1=item; /实际修改数据的语句return success;returninfo seqlist:insert(int position,const int &item) /插入一个元素if(count+1=Maxsize)return overflow; /溢出处理if(positioncount+1) return range_error;count+; /计数器加一for(int i=count;i=position;i-) /循环移动数据dataarrayi=dataarrayi-1;dataarrayposit

6、ion-1=item;return success;returninfo seqlist:remove(int position) /删除一个元素if(empty()return underflow;if(positioncount)return range_error;for(int i=position-1;imenuchoice;return menuchoice;returninfo interfacebase:processmenu(int menuchoice)int position,item,returnvalue;switch(menuchoice) /根据用户的选择进行相应

7、的操作case 1: coutitem;if(itemMaxsize)coutposition;coutitem;returnvalue=listonface.replace(position,item);if(returnvalue=underflow)coutposition;coutitem;returnvalue=listonface.insert(position,item);if(returnvalue=overflow)coutposition;returnvalue=listonface.remove(position);if(returnvalue=underflow)cou

8、tposition;returnvalue=listonface.get(position,item);if(returnvalue=underflow)cout #include const MAXNUMOFBASE=5; /基础数据总量enum returninfosuccess,fail,overflow,underflow,range_error;/定义返回信息清单int sourcedataMAXNUMOFBASE=11,22,33,55,66,; /内部数据数组,节省每次建立时输入时间class nodepublic:int data; /数据域node *next; /结点指针;

9、class linklistprivate:node *headp; protected:int count; /计数器 统计结点个数即线性表的长度public:linklist(); /构造函数linklist(); /析构函数 returninfo create(void); /链表的初始化void clearlist(void); /清空链表bool empty(void) const; /判断是否空链int length(void) const; /求链表的长度returninfo traverse(void); /遍历链表所有元素returninfo retrieve(int pos

10、ition,int /读取一个结点returninfo replace(int position,const int /修改一个结点returninfo insert(int position,const int /插入一个结点returninfo remove(int position); /删除一个结点returninfo invertlist(void); /链表所有数据反转;linklist:linklist() /构造函数headp=new node; /申请新结点,作为头结点headp-next=NULL; /头结点的地址域预设为空地址count=0; /计数器清零,表明开始时没有

11、实际数据linklist:linklist() /析构函数clearlist(); /删除所有数据,释放所有结点delete headp; /把头结点也释放掉count=0; /计数器清零,表明开始时没有实际数据returninfo linklist:create(void)node *searchp=headp,*newnodep;int i;for (i=0;idata=sourcedatai;newnodep-next=NULL;searchp-next=newnodep;searchp=searchp-next;count+;searchp-next=NULL;traverse();r

12、eturn success;void linklist:clearlist(void) /清空链表node *searchp=headp-next,*followp=headp; /初始化两个指针while(searchp!=NULL) followp=searchp;searchp=searchp-next;delete followp; headp-next=NULL; /保留了最后一个结点,就是头结点,并且链域置为空count=0; /计数器也清零bool linklist:empty(void)const /是否空链if(headp-next=NULL) return true;elsereturn false;int linklist:length(void)const /求链表的长度return count; returninfo linklist:traverse(void) /遍历链表中的所有元素node *searchp; /启用搜索指针if(emp

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号