欢迎来到天天文库
浏览记录
ID:6810306
大小:117.50 KB
页数:36页
时间:2018-01-26
《数据结构上机编程汇总》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、数据结构上机编程汇总2-1链表#include#include#include#include#defineTURE1#defineFALSE0#defineOK1#defineERROR0#defineINFEASIBLE-1#defineOVERFLOW-2#defineNULL0typedefintStatus;typedefintElemType;typedefstructLNode{ElemTypedata;structLNode*n
2、ext;}LNode,*LinkList;StatusGetElem_L(LinkListL,inti,ElemType&e){//L涓哄甫澶寸粨鐐圭殑鍗曢摼琛ㄧ殑澶存寚閽堛€?//褰撶i涓厓绱犲瓨鍦ㄦ椂锛屽叾鍊艰祴缁檈骞惰繑鍥濷K锛屽惁鍒欒繑鍥濫RRORLinkList*p;intj;p=L->next;j=1;//鍒濆鍖栵紝p鎸囧悜绗竴涓粨鐐癸紝j涓鸿鏁板櫒while(p&&jnext;++j;}if(!p
3、
4、j>i)retu
5、rnERROR;//绗噼煱饏鷯绱鸞笉鄆姃湪e=p->data;//鍙瀬i鍏冪礌returnOK;}//GetElem_LStatusListInsert_L(LinkList&L,inti,ElemTypee){//鍦ㄥ甫澶寸粨鐐圭殑鍗曢摼绾挎€觥↙涓i涓綅缃箣鍓嶆彃鍏儑殑鍏檖礌eLinkList*p,*s;p=L;j=0;while(p&&jnext;++j;}//瀵绘氒绗噼-1煱粨鐐?if(!p
6、
7、j>i-1)returnERROR;//i灏忎簬1鎴栬€呭ぇ浜庤〃闀?1s=(LinkLi
8、st)malloc(sizeof(LNode));//鐢熸垚鏂扮粨鐐?s->data=e;s->next=p->next;//鎻掑叆L涓?p->next=s;returnOK;}//ListInsert_LStatusListDelete_L(LinkList&L,inti,ElemType&e){//鍦ㄥ甫澶寸粨鐐圭殑鍗曢摼绾挎€觥↙涓紝鍒犻櫎绗琲涓厓绱狅紝骞舵湁e杩斿洖鍏跺€?LinkList*p,*q;intj;p=L;j=0;while(p->next&&j9、墠瓒?p=p->next;++j;}if(!(p->next)10、11、j>i-1)returnERROR;//鍒犻櫎浣嶇疆涓嶅悎鐞?q=p->next;p->next=q->next;//鍒犻櫎骞堕噴鏀剧粨鐐?e=q->data;free(q);returnOK;}//ListDelete_LvoidCreateList_L(LinkList&L,intn){//閫嗕綅搴忚緭鍏涓厓绱犵殑鍊硷紝寤虹珛甯﹁〃澶寸粨鐐圭殑鍗曢摼绾挎€觥↙LinkList*p;L=(LinkList)malloc(sizeof(LNode));L-12、>next=NULL;//鍏堝缓绔嬩竴涓甫澶寸粨鐐圭殑鍗曢摼琛?for(i=n;i>0;--i){p=(LinkList)malloc(sizeof(LNode));//鐢熸垚鏂扮粨鐐?scanf("%d",&p->data);p->next=L->next;L->next=p;}}//CreateList_LvoidMergeList_L(LinkList&La,LinkList&Lb,LinkList&Lc){//宸茬煡鍗曢摼绾挎€觥↙a鍜孡b鐨勫厓绱犳寜鍊奸潪閫掑噺鎺掑垪//褰掑苟La鍜孡b寰楀埌鏂扮殑鍗曢摼绾挎€觥13、↙c锛孡c鐨勫厓绱犱篃鎸夊€奸潪閫掑噺鎺掑垪LinkList*pa,*pb,*pc;pa=La->next;pb=Lb->next;Lc=pc=pa;//鐢↙Aa鐨勫ご缁撶偣浣滀负Lc鐨勫ご缁撶偣while(pa&&pb){if(pa->data<=pb->data){pc->next=pa;pc=pa;pa=pa->next;}else{pc->next=pb;pc=pb;pb=pb->next;}}pc->next=pa?pa:pb;//鎻掑叆鍓╀綑娈?free(Lb);//閲婃斁Lb鐨勫ご缁撶偣}//MergeList14、_LintLocateELem_SL(SLinkLIstS,ElemTypee){i=S[0].cur;while(i&&S[i].data!=e)i=S[i].cur;returni;}2-2线性表#defineLIST_INIT_SIZE100//绾挎€觥ㄥ瓨鍌ㄧ┖闂寸殑鍒濆鍒嗛??
9、墠瓒?p=p->next;++j;}if(!(p->next)
10、
11、j>i-1)returnERROR;//鍒犻櫎浣嶇疆涓嶅悎鐞?q=p->next;p->next=q->next;//鍒犻櫎骞堕噴鏀剧粨鐐?e=q->data;free(q);returnOK;}//ListDelete_LvoidCreateList_L(LinkList&L,intn){//閫嗕綅搴忚緭鍏涓厓绱犵殑鍊硷紝寤虹珛甯﹁〃澶寸粨鐐圭殑鍗曢摼绾挎€觥↙LinkList*p;L=(LinkList)malloc(sizeof(LNode));L-
12、>next=NULL;//鍏堝缓绔嬩竴涓甫澶寸粨鐐圭殑鍗曢摼琛?for(i=n;i>0;--i){p=(LinkList)malloc(sizeof(LNode));//鐢熸垚鏂扮粨鐐?scanf("%d",&p->data);p->next=L->next;L->next=p;}}//CreateList_LvoidMergeList_L(LinkList&La,LinkList&Lb,LinkList&Lc){//宸茬煡鍗曢摼绾挎€觥↙a鍜孡b鐨勫厓绱犳寜鍊奸潪閫掑噺鎺掑垪//褰掑苟La鍜孡b寰楀埌鏂扮殑鍗曢摼绾挎€觥
13、↙c锛孡c鐨勫厓绱犱篃鎸夊€奸潪閫掑噺鎺掑垪LinkList*pa,*pb,*pc;pa=La->next;pb=Lb->next;Lc=pc=pa;//鐢↙Aa鐨勫ご缁撶偣浣滀负Lc鐨勫ご缁撶偣while(pa&&pb){if(pa->data<=pb->data){pc->next=pa;pc=pa;pa=pa->next;}else{pc->next=pb;pc=pb;pb=pb->next;}}pc->next=pa?pa:pb;//鎻掑叆鍓╀綑娈?free(Lb);//閲婃斁Lb鐨勫ご缁撶偣}//MergeList
14、_LintLocateELem_SL(SLinkLIstS,ElemTypee){i=S[0].cur;while(i&&S[i].data!=e)i=S[i].cur;returni;}2-2线性表#defineLIST_INIT_SIZE100//绾挎€觥ㄥ瓨鍌ㄧ┖闂寸殑鍒濆鍒嗛??
此文档下载收益归作者所有