《某农业大学数据结构实验答案包含STL版.pdf》由会员分享,可在线阅读,更多相关《某农业大学数据结构实验答案包含STL版.pdf(127页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、8576 J 好 缆 牌 的 基 械(乍时间限制:1000MS内存限制:1000K影 榜 数9027通 过 嬷2456逊 辘 题 语 言 无 限 制Desertion编写算法,创建初始 溶量为USTJNIILSIZE的 顺 禄T,并 爽 赚 叭、删除、遍历操作。本题目给出 海 刑 可请未隆内容。#indude#include#defineOKl#define ERROR 0#define USTUNTILSIZE100#define LISTINCREMENT 10#define Elemlype inttypedef struct(int*dem;intlengdh;int lists*Sq
2、Ust;int IhitList_Sq(SqList&L)/触2 3,梅都陶域L,谶为USTJNIT_SIZE/翻 全 代 码)IntLoadJSqqList&E)/输出顺核中的所有元素inti;if(_ JprintfCIheListis empty!);请填空elseprintffThelistis:fot()printfi%!H,);/printfn);return OK;)int ListInserL.Sq(SqList&Unt ijnt e)/雌2 4,初 孵 雌a L中第i e谓 汽W k娜J族e/i 的合法值为 1 iLjength+1 潸f全代码int IistDdeteL_S
3、q(SqList&Lgt i,int/雌25,而I酹 线 膝L中并用eigJSIM值 i的 能 值 为IG L len g ih/潜 隆 代 码)i ntma i nO(S qL i stT;E le mlype e,x;i f(_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)/判断厕猱是否建成功pri ntf f A S e que nc e L i st H a s Cte a te d n,r);wh i le(l)i nse rt d e me nt n2 J D e le te d e me nt n3 i joa d a
4、l l e J e me nts nO E xi t nP le a se c h oose:n);sc a nf i,%d,15&a);swi trh(a)c a se 1:sc a nf 1%d%d,13&x);i f(_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ J pri ntf T nse rtE norl d);“判断 i 值是否合法,请 鳏e lse pri ntf T h e E le me nt%d i s S uc c e ssf ully I nse rte d!nM,R;b re a k;c a se 2 s
5、c a nf f 1%d”闻;i f(_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _)pri ntf CD e le te E f f i小M);判断i值是否合法,请 鳏e lse pri ntf f*T h e E le me nt%d i s S uc c e ssf ully D d e te d l n”,e);b re a k;c a se 3:L oa c _ q(I);b re a k;case 0:return 1;)的假测试样例格式说明:布 禅 操 作:1、输入I,表 示 要 频 献 操 作,紧跟着*用空格分开2、输入2
6、,表 示 要 卖 吸 脸 作,紧跟着要输入删除的位置3、输入3,表示要输出顺糅的所有元素去 输 入0,表示程序结束输入样例1121132130输出样例A Sequence List Has Created.1 insert element21)elete element3JLoad all elementsOExitHease choose:The Element 2 is Successfully Inserted!1 insert element2dDdete element3dLoad all elementsttExitPlease choose:The Element 3 is Su
7、ccessfully Inserted!IJhsert element2Ddete element3:Load all elementsOExitRease choose:The Element 3 is Successfully Ddeted!Idnsert element2dDelete element&Load all elementsttExitHease choose:The List is:21 insert element2Delete element3JLoad all dementsCkExitHeasedioose:yqrn#include#indude#defineOKl
8、#defineERRORO#define I1STLINIT_SIZE 100#define IISTINCREMENT10/define Elemi沛e inttypedef structint*dem;int length;intlistsizSqUst;int InidJst_Sq(SList&E)/雌23,剧小为USTJNIT_SIZE 阚 全 代 码Ldem=(ElemType*)malloc(LISTJNnLSIZE*sizeof(ElemType);Llength=(XIJistsize=JSXJNIT_SIZE;return 0;)i ntL oa d jS q(S qL i
9、st&E)/输出顺核中的所有元素i nti;i f(L le ng d i=O)pti ntf f T h e L i st i s e mpty!,r);/请 蹙5e lsepri ntf f T h e li sti s:f tM I J e ng f c i+)pri ntf f,%d nJ L e le m0);/空pri ntf f n);re turn O K;)i nt L i stI nse rL.S q(S qL i st&U n t i jnt e)/雌2 4,田 孵 绸 牌L中第i e谓 汽W k娜J族e/i 的合法值为 1 i I J e ng H)te tumE R
10、R O R;i f(L le ng d i =L J i stsi ze)ne wb a se=(E le nn 2)te a lloc(L1e le m5(L J i stsi ze+L I S nNCR E M E NI)*si ze of(E le mT ype);L d e m=ne wb a se;L J i stsi ze+uL I S T I NCR E M E NT;)q=&(L e le mf-l);f oi Q=&e le mE L le ng ri h H lD pAF;4)*L J e ng d te tumE R R O R;p=&(L e le mp-l);e=*p
11、;q=L d e m+L J e ng th-l;f or(+pp=i;E le mlype e,x;卿 向 近 的 )/判断顺隆是否创建成功prin货A Sequence List Has Createdn*);whfle(l)printff*1 insert elementn2dDeletE dementn31joad all efementsnOExitnHease choosen,;scanf(1l%d,;switch(a)case 1:scanf(,%d%dM3&icx);if(nJstinsert_Sq(Tix)printffTnsert EnDriXn*);/判断 i 值是否合法
12、,请填空else printffTOie Element%d is Successfully Inserted!n”,欢break;case 2:scanfC1%d”闻;if(IJstDeletE_Sq(TXe)printfCTeteEtroriXn;/判断 i 值是否合法,请 鳏else printffThe Element%d is Successfully Ddeted!n,e);break;case 3:Load_Sq(I);brealcase 0:return 1;)解法二:(C+STLlist)#include#include#inchidei ntma i nOE st T;i
13、nte,x;pf lntf f*A S e que nc e L i st H a s Cre a te d n);pri ntf f *1 i nse rt e le me nt n2 J D e le te d e me nt n3 J L x)a d a ll e le me nts n(M E xi t nP le a se c h oose:n,r);sc a nf(,%d,3i&a);swi tc h sc a nf C%dHM M;|i m)T ze Q+l)pri ntf f*I nse rtE rror!ti,1);/判断 i 值是否合法i ntj=lp=Qli st d t
14、e ra tD r i te r=T.b e g nQ;i f 5=l)(T.push L _ f i xM i t(?0;p=l;)wM e(i te t!=T.e nd 0)i f Q=i&i l=l)T jnse te r,);p=l;i+;b te a h;e lsej+;i te rl-4-;)侬T pi i sh _ b a c k(x);pri ntf C,T h e E le me nt%d i s S uc c e ssf ully I nse rte d l n”,x);)b re a k;c a se 2:sc a nf 1%d”闻;i f$(h T ze Q)pti n
15、或D e le te E nori n,r);/判断 i 值是否合法d sei ntj=l;E st ni te ra tD r i to;f ot te r=T.b e O te ri=T.e nd O;+i te i)询 二 flist:dtEt2tor tmp;Wnp=itec,e=*iter;iteH-+;T.ei3se(tmp);break;)elsej+;printfTheElement%dis Successfully Deletedln,8;)break;case 3:if(T.en5tyO)printffThe List is emptyTn);dseEstdtEatDr p
16、fet;printffThe Listis:fc)r(plist=T.begnQ;pJist!=T.endQ;plistH-+)printffV);)break;caseO:return 1;)m H:(#i nc lud e#i nd ud e#i nd ud e i ntma i nOi ntT 1 0 0 0 ;me mse t(r,0 i ze of(l);i nta i jk=l,e,x;pri ntf f A S e que nc e li st H a s Cte a te d n);xd i f le(l)pri ntf f l J nse rt d e me nt n2 D
17、e le tE d e me nt n3 J joa d a l l d e me nts nf tE xi t nP le a se c h oose:n,r);sc a nf f,%d,j&a);swi tc h e a se l:晔1|i次pri ntf T I nse rtE mr!W;判断i值 是 否 能,请 鳏d se(f c)r(jntj=krl;j=i;j-)Tfi+l f;T0=k+;pri ntf f*T h e H e me nt%d i s S uc c e ssf ully lnse rtE d!n,*,旬;break;case2:scanfc*%d;&dsee=T
18、0;&t jntjH i;A互+)T S=T O+1);lk;pdnAT he Bem ent%d issu ccessfu lly Ddeted!5*b re a k;c a se 3:i sJ 5 F:H l)pd n角T h e L i sri se n tyf);d sepd n角T h e L i sti s:)Jll l;Ak;+)pd ntf c d-T jpd ntf f/n)b re a k;c a se O:re turn1;8 5 7 7合 并 顺 麻时间限制:10 0 0 M S 内存限制:10 0 0 K影 榜 数 5 3 3 9通过次数2 2 5 1逊 辘 题 语
19、言 无 限 制D e se rti o n第 算 法,将两个m 融 减 W序顺序表A和 B 合并成懒贿序顺表Co械 襁 的 弼,请同学他蚊完成,所需子函数参考前面完成的内容。跳谶第-e JO AKT-W第二行:顺 臊 A的各元素G助 减),用空格分开行:M腺B 的元素个数第四行:顺 裱 B 的各元素包腱减),用 空 帧 开输 曲 轼第一行:顺序表A的元素列表第二行:顺序表B 的元素列表行:合并后顺麻陵513 5 7952 46 8 10输出L i stA:13 5 79L i stB2 46 8 10L i stG 12 3 45 6 78 910储yryn-:#indude#indude#i
20、nchide#defineOKl#defineERRORO#define U ST JN niS IZ E 100#define LISTINCREMENT 10#define Elernlype int#define OVERFLOW-2typedef structint*elem;int length;int listsize;SqList;int InitiList_Sq(SqList&1dint n)inti;Lelem=(HemType*)tnallocg*sizeof(ElemTyp);LBstsize=国LJength=n;fo rg a KLJengdi;i+)sc a n f
21、 f,%dH d L e l e m g);te tu m O K;i n t L o a d j S q f S q L i st&L)(i n ti;i f i J J e n g th=Q)re tu rn 0;/请填空e l se(f c r(i=(X i L l e n g th-l;i+)p ri n tf C%d“L e t吨);p ri n或1%d“L d e n i L J e n g th-l D;)p ri n tf C H);/i f(c h=,A,)c h=rB,;/d se i f(c h二 二 功 c h二 Cte tu m O K;vo i d m e rg e
22、 L stj S q q L i st L a q L i st L b S q L i st&L c)i n t*p a j*p b,*p c *p a J a sg*p b L J a st;p a=L a.d e m;p b=L b.e l e m;L c J i stsi z e u L c J e n g th u L a l e n g th+L b J e n g d i;p c二 L c e l e m=(E l e m l p e*)m a l l o c(L c J i stsi z e*si z e o f(S e m I p e);i f 5 L a e l e n x
23、i t(O VE R F L O W;p a J h st=I d e m+I j e n g ti h h l;p b J a st=L b.e l e m+L b J e n g th-l;xi d i f l e(j p a =p a j a st&b =p b j 岭p a =*p b)*j?c+=*p a+;e k e*p c+=*p b+;w h i l e )a =p J a s*p c+=*j p a+;w h i l e(j p b =p b j a s*p c+=*p b+;i n tm a i n O(S q L i stT R Y;i n ta,b;sc a n f(,
24、%dt,3&a);I n i tL i st_ S q(r i);sc a n f f W A b);I n i tL i stJ S q(R,b);m e rg d j sC S q f T j R );p ri n tf f l i stA,);L o a d _ S q(T);p ri n tf f T J stB:);L o a d _ S q(R);p a n tf CrL i stC:,r);L o a d _ S q(Y);)(C+S T L l i st)#i n c l u d e#i n c h i d e#i n d u d e#i n d u d e u si n g
25、n a m e sp a c e std;vo i d k a d(l i st L)l i st:d te t2 tD r p l i st;f o r l i st=L b e g n Q;p l i st!=L e n d。;i stH+)p ri n tf C W;)i n tm a i n Ql i st T J R;i n t也二sc a n f C%d”的;i=a i+)(sc a n f(,%d,3i&x);T.p u sh j D a c k(x);sc a n f(,%dn3&b);f o r0 n ti=i b;i+)sc a n f f,%d,&;R p u sh L
26、_ b a c k(x);p ri n tf f l i stA?);b a d ;p ri n tf T i stB:);l o a d(R);T m e i g e(;p ri n tf f l i stC:);l o a d ;)mH:m#i n d u d e#i n c l u d e#i n d u d e i n t I n i tL i st_ S q n t L f l j t t i t n)(i n ti;f o r 二 a i n;i+)sc 2 n f C,%d,13&L g);re tu rn 1;i n t L o a d J S q f j n t L f l
27、j n tn)i n ti;i f i J n=O)re tu rn(X /Wy 空e l sef o r(尸(X i Vn;i+)p ri n tf f%d “现p ri n tf C ;re tu rn 1;)vo i d m e rg p L i stj S q f i n t a Q A i t b f l L n t c j n t a j f e n g ti h j n t b j e n g th)(i n ti=O,j=O,k=(Xxd i i l e(i a j e n g th&f i q b J e n g th)(i f(a 0 =b 0)唯+=a R+;e l se
28、c p s+=b|j+;vrf i i l e a j e n g th)c P c 4-+=a p+;xd i f l e(j b J e n g th)c(k 4-+=b g+;)i n tm a i n Q(i n tT 10 0 10 0,Y 10 0;m e m se t(r,0 i z e o f(l);m e i n se t(R A si z e o f i J R);m e tn se t(Y,0 i z e o f(Y);i n ta,b;sc a n f C%d”的;I n i tL i st_ S q(r L);sc a n f C%d”触);I n i tL i st
29、L S q(R b);m e rg W s j S q f T R Y 期;p ri n tf f l i stA:;L o a d _ S q(T );p ri n tf T i stB:);L o a d _ S q(R j D);p ri n tf C T i stC f);L o a d L S q(E a+司;8 5 78 J 恻 猱 逆 g时间限制rl O O O M S 内存限制:10 0 0 K哂 炫 洸 6 0 通 过 健 49露:?MlD e sc ri p ti o n设 有 一 顺 麻 A=侬乩一闻皿1),鳏 顺)猱 定 防 A,=(a n-1一心 R,a 0)。谢 i
30、算法,将逆置,要求顺J禄仍占用原喇建的空间。槐 襁 供 代 码,请I W 学 他 蛭 完 成,所 需 子 酬 金 前 面完成的内容。m福亍:输 入 喇 禄 个 数第二行:输 入 顺 糅 元 素,用空格分开输am亍:逆置前的顺J禄 林 列 表第二行:逆置后的顺麻元素列表M样例1012 3 45 6 78 910输出样例The list is:l 2345678910The turned list is:10987654321悌(o m)#indude#include#defineOKl#define ERROR 0#define IJST_INrr_SIZE 100#define LISTINC
31、REMENT 10#define EktrfType inttypedef struct(int*elem;intlengdi;int listsize;SqList;int InitList_Sq(SqlJst&Ljnt n)(/麟2 3,构Ub领 编 域L,斶然初、为UST_IN1T_SIZE 翻 全 代 码inti;Ldem=:(ElemType5*)tnanoc(n*sizeof(ElemType);ifiJLdem)iietum ERROR;Llistsizenn;Llengdi=(for(=(r$=(in/&+)tFLdemf;Ldem 0=Ldem|n-i-l;Ldemfo-i-
32、l=t;)tetumOK;inttnainO(ScpJstT;intn;scanff,%d,&n);InitListjSqfTi);printffThe List is:);Load_Sq(T);地球printfiThe turned List is?);Load_Sq(T;)(C+STLlist)#indude#inchide#indudevlistusing namespace std;void load(fet L)Hst:dteratDr pHst;fcr(plist=LbegnQ;plist!=LendQ;悭计+)printff,%dprintfCn);)intmainO(KstT;
33、inttyj;scanf1%d,3&o);for(ht i=Cyv毋+)(scanf(,%d,J&x);T.push_back(x);printfThe List is:);loadfl);TjreverseQ;printffThe turned List is:);loadfl);)m H:(W#indude#indudeint LoadJSqfjnt Lfljntn)i=(in+)printfC%d”现;printfn);tetuml;)i n t f i n t L Jb r i t r i)f c =f t i n/2i+)GLH;L 0=L|h-i-l ;r e t u r n 1;
34、)i n t m a i n Oi n t T 100 n;s c a n f f 1%(r a ;f o r i n t i=(y n 4-+)s c a n f V W T H);p o n t f f T h e L i s t i s:);L o a d _S q(T ;f i X n);p r i n t f f T h e t u r n e d L i s t i s:。;L o a d _S q(T i);8579的线性表的基本操作时间限制:1O O O MS内存限制:1O O O K殿 次 数:5567通过次数2176辘 辎 题 语 言:无 限 制Descqption解麟,仓
35、!有球L并嘱、腼 懒 乍。棺 目 跚 部而 蝌,请木除内容。#indude#include#defineERRORO#defineOKl#define HemType inttypedef struct INodeintdatstruct LNode*next;EMode,*IinkList;int CteateLinlCL(LinkList&Ljnt n)/犍含有n个元素的单球linkListpqinti;ElemlypeL=(LinkLismaDoc(sizeof(LNode);Lnext=NULL;/先建立一W头结点的单球q=(Linklismalloc(siz8f(LNod6);q=L
36、forQ=(Vn;i+)scanff%d,&e);p 二 (LinkLisOmalloc(sizeof(LNode);/点请补全代码return OK;int LoadLinkJL(LinkList&L)单LinkListp=L-next;况)printfCIheListisenytyn:/请 鳏dseprintff The LinkList is:);wMe()/(print里dpda;_/T#)printffH);return OK;int LinldnsertJL(LinkList iElemiype e)算法29/磷贻雌膝L3 跚 全 代 码)int LinkDeleteLJL(Lin
37、kList&Ljnt i,Etemlype&e)/算法210 在 带 蜡 点 的 单 敏 性 表L中,删除第i个元素,并用e返回其值 潞f全代码intmainQ(IlnkListT;intai;Elemlypex,e;printffTease input die init size of die linklist:、!);scanf(1,%dnJ&n);printfVHease input the%d dement of the linklistn”,n);if(_)/判犍成电请筹(printffA Link List Has Cteatedn,r);LoadlinkJLfl);whfle(l
38、)printfrl insert elementn2JDeletE dementn3dLoad all dementsnOExitnPlease choose:nM);s c a n ffW ;switch(a)case 1:scan%d%d起题);ifC)printffInsert Ertorf6);/判断 i 值是否合法,请填空else printfThe Element%d is Successfufly Inserted!n”,欢break;case 2 scanf(*%d”闻;if()printffDdetE Enorf山);判断 i 值是否合法,请填空else printffThe
39、 Element%d is Successfully Deleted!n,e);brcak;case 3:LoadLinkJLfl);break;case 0:return 1;)物醴测岗物骼式说明:根 搦 弹 操 作:1、输入1,表 示 要 实 脸 斓 乍,紧跟用空格分开2、输入2,表示要实现删献作,瓣 啥 缺 删 除 的 位 置3、输入3,表示要输出顺序表的所有元4、输入0,耘濯序结束跳布3369314122130输出样例Please input die init size of die linldistPlease input the 3 element of the linldistA
40、 Link List Has CreatedTheLinkListis:3691 insert elementZDdete element3JLoad all elementsOJExitPlease choose:The IinkListis:369ldnsett element2JDelete element3Load all dementsOExitPlease choose:The Element 12 is Successfully Inserted!1 insert dementZEHete element3iLoad all elementsOExitRease choose:T
41、he Element 3 is Successful Deleted!1 insert element2Delete element31joad all elementsOJExitHease choose:TheLinkListis:69121 insert dementZDelete element3JLoad all elementsOExitHease choose:储yqpi#indude#indude#defineERRORO#defineOKl#define Elemlype inttypedef struct LNodeint data;struct IJSfode*next;
42、UMode,*LinkIist;i n t C t e a t e L i r i k JL(I Jn k L i s t&L j n t /创建含有n 个元素的单球U n k L i s t p,q;i n t i;E l e m T y p e L =(L i n k L i s m a l l o c i z e o f(L N o d e);A n e x t =N U L L;/辐 立 依 潟 点 的 单 球q =(L i n k I i s m a f l o c(s i z 8f(L N o d a);q =Ef o r Q=f t i V q i+)s c a n f *%d,
43、&e);p =(L i n k L i s O n i a l l o c(s i z e o f JN o d a);/点p-d a t a=e;p-n e x t=q-n e x t;q-n e x t=p;q=p)r e t u r n O K;)i n t L o a d L i n k J/L i n k L i s t:&L)单L i n k L i s t p =L-n e x t;i f i J)=N U L L)p r i n t f f T h e L i s t i s e m p t y f);/请填空e l s ep r i n t f f*T h e L i n k
44、 L i s t i s:);w h i l e(p!=N U L L)/printff%d”pdat。p=p-next;/请)printffH);return OK;)int LinldnsertJXLinkList&L&t iJElemType e)算 法29/磷始峨牌L播.I金代码LinkListpjS;intj;p=L;曰p=p-next;+i;ifijpl|ji-l)retum ERROR;s二(LinkLisOmaDoczeof(LNod;s-data=s-next=p-next;p-next=s;return OK;)i n t L i n k D e Je t j J/L i
45、n k L i s t&L 4n t i,E l e m T y p e&e)/算法210在带头结点的单峻性表L中,删除第i个元素,并用e返回其值/翻全代码L i n k L i s t p,q;i n t j;叩)=0;w Me(p-n e x t i&j n e x t;+j;)i f i j(p-n e x 11 j i-l)t e t u m E R R O R;q=p-n e x t;p-n e x t=q-n e x t;e=q-d a t a;f e e ;r e t u r n O K;i n t m a i n Q(L i n k U s t T;i n t a/y;E l
46、e m l y p e x,e;printffTease input the init size of the linldistn,f);printfVTMease input the%d dement of the linklistn”,n);if(CttatELink_L(r/i)/判 断 除 是 否 创 建 成 先 清 醒(printffA Link List Has Cteated.n,*);LoadLinkJ/I);)5xMe(l)printfl insert dementn2Ddete dejmentn3JLoad all ekmentsnttExitnPlease chooscn
47、1);scanf(1,%dnJ&a);switch(a)case 1:scanf(,1%d%d,dcx);ifiJLink!nserLL(r均)ptintfCInsertEnorfV”判断 i 值是否合法,空else printffThe Element%d is Successfully Insertedln”,同;break;case 2 scanff%!”闻;if(JLinkDeleteJL(rje)printf(*DdeteEnoriW);判断i值是否合法,请 鳏else printffTnhe Element%d is Successfully Ddeted!n,e);break;c
48、ase 3:LoadJJnkJ/I);break;case 0:tetum 1;)Z 2(C+S T L S#indu destdio.hv#indu dem alloc.hv#inclu deu singnam espacestd;v oidloadistc163L siz eoM HO)pdntffT lleL isti sem pty!-)elsepdnT T heDnkL isti s:-);HS K inv atEratDrpike&r j p l i s tHL bino;P HS tnL endo plist+)pdntfc%dv pf;pdntfv w)inrrnainQEst
49、T;intajnjie;p d n角u n e a s e i q p u f t h e i n i t s i z e o f t h e l i n k l i s t x n.);scanf%cr,&Ip d n T l e a s e i n p u t t h e%de l e m e n t o f t h e Md i s c x n M=甚pdnA L inkL istHascreated.5J&1 5仓+)scanfc*%d=,&T.p u s h j i a c k f );l o a d(I);疝 1)p r i n t f f *1 i n s e r t d e m
50、 e n t n 2D e l e t e d e m e n t n 3J L o ad al l dem en t s n O x i t n H eas e ch o o s e:n);s can f f1%d,5&a);s w i t ch(eas el:s can f V%d,,M&x);i f 伽O Ts i z eQ+l)p ri n t f f I n s ert Erro ri n,);/判断 i 值是否合法ds e(i n t j=l j p=f tl i s t dt erat Dr i t er=T.b eg n Q;(T.p u s K _ f t o n t(x);