资源描述:
《数据结构线性表操作》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、1.这是pllist.h自定义的尖文件//Headfilesforlistinchapter2#include//include#include//预定义常量#defineTRUE1#defineFALSE0//线性表(顺序表)的最大长度50//链表的最大长度#defineOK#defineERROR#defineINFEASIBLE-1#defineOVERFLOW-2#defineGUARD-99#defineMAXLEN255#defineLIST_MAX_SIZE
2、//函数结果的类型typedefintStatus;typedefintElemType;typedefstruct{ElemType*elem;intlength;intlistsize;}SqList;typedefstructList{intelem[MAXLEN];intlength;}List;typedefunsignedcharSString[MAXLEN+1];typedefintElemType;typedefstructLNode{intdata;structLNode*next;}LNode,*LinkL
3、ist;//pllist.cppvoidlnitList(List&L);//*此函数用于初始化一个保持增序的线性表LvoidlnitUstO(Ust&L);//*此函数用于初始化一个线性表LvoidprintList(ListL);voidcreateTwoLists(List&La,List&Lb);voidMergeList(ListLa,ListLb,List&Lc);//*TBD1*将Lb归并到La表,形成新表LcvoidUnion(List&La,ListLb);//*TBD2*线性La和Lb分别表示两个集合,求新
4、集合La=LaULb(U"并"操作)voidReverseList(List&L);//*TBD3*将线性表L逆转voiddeleteall(List&L,intx,inty);//*TBD4*从一给定的顺序表L中删除元素值在x和y之间的所有元素(x<=y>//lottery.cppvoidbuild(LinkList&L,intsize);//*TBD1*乙负责-初始化循环链表Lvoiddisplay(LinkListL);//*TBD1*甲负贵-在屏幕上输出链表L的内容voidselectlO(LinkList&L);//
5、*TBD2*乙负责-实现体育彩票(10选7)voidselect36(LinkList&L);//*TBD2*甲负责-实现体育彩票(36选7)voidfreeList(LinkList&L);//*TBD3*甲负责-释放初始化链表L所使用的内存voidmainlottery();//*TBD3*乙负责-实现主函数//LinkedList.cppStatusCreateList_L(LinkList&L,intn);//采用尾插法创建一个带炙结点的长度为n的单链表LStatusCreateList_L_NoHead(LinkLi
6、st&L,intn);//采用尾插法创建一个无头结点的长度为n的单链表LvoidprintList_L(LinkListL);//输出带头结点的单链表LvoidprintList_L_NoHead(UnkListL};//输出不带头结点的单链表LStatusGetElem_L(LinkListL,inti,ElemType&e);StatusListlnsert_L(LinkList&L,inti,ElemTypee);StatusListDelete_L(LinkList&L,inti,ElemType&e);voidMer
7、geList_L(LinkList&La,LinkList&Lb,LinkList&Lc);voiddeleteallnodes(LinkList&L,ElemTypemin,ElemTypemax);voidChangeLinkList01J(LinkList&L);Statusreorder5(LinkList&L);//pllist.cpp[例2-2-12]voiddeleteall_l(List*L,intx);voiddeleteall_2(List*L,intx);voiddeleteall_3(List*L,in
8、tx);2.这是线性表操作代码://实验一:设计一个程序实现线性表上并操作。//ellist.cpp:定义控制台应用程序的入口点。////include"pllist.h"/*此函数用于初始化一个保持增序的线性表L*L的初值是通过键盘按照递增的次序一个自然数一个自然数输入的。