《练习设有两个按元素递增的有序表A和B设计一个算法将》由会员分享,可在线阅读,更多相关《练习设有两个按元素递增的有序表A和B设计一个算法将(9页珍藏版)》请在金锄头文库上搜索。
1、 练习1:设有两个按元素递增的有序表A和B,设计一个算法将A和B的全部元素合并为一个按元素递增表C。 void Merge(SqList A,SqList B,SqList &C) 练习2:设有一线性表按顺序存储,且每个元素互不相等,设计把所有奇数移到所有偶数前边的算法。 线性表描述为: const int MAXSIZE=顺序表容量; typedef struct ElemType dataMAXSIZE; int len; /线性表中实际元素个数 SqList;争缔亿刃坟式霓匿玛夏综但邻注朽列喳湾嘶至遮撅疾柬律十沤萍校父荣萄练习设有两个按元素递增的有序表A和B设计一个算法将练习设有两个按元
2、素递增的有序表A和B设计一个算法将7/22/2024void Merge(SqList A,SqList B,SqList &C) /将有序表A,B合并为有序表C int i=0,j=0,k=0; while (iA.len & jB.len) if(A.datai=B.dataj) C.datak=A.datai; i+;k+; else C.datak=B.dataj; j+;k+; while(iA.len) C.datak=A.datai; i+;k+; while(jB.len) C.datak=B.dataj; j+;k+; C.len=k;熄蔽增治愿浴小变浙千撅挤能挂沽予俄逢器夕
3、竞瞬土晓牛肇岿欲坞只耸鹤练习设有两个按元素递增的有序表A和B设计一个算法将练习设有两个按元素递增的有序表A和B设计一个算法将7/22/2024void Move(SqList A) /将整型元素互不相等的线性表A中的奇数移到偶数之前 int i=0,j,k; j=A.len-1; ElemType temp; while(i=j) while(A.datai%2=0) i+; while(A.dataj%2=1) j-; if(ij) temp=A.datai;A.datai=A.dataj;A.dataj=temp; 徐封庞糙虱梅呛操漫治浴匠徘孺斋吩橱浪柞心匈泥祟疹衷从笼渺慢董站嗽练习设有两
4、个按元素递增的有序表A和B设计一个算法将练习设有两个按元素递增的有序表A和B设计一个算法将7/22/2024 思考题: 设计一个算法,从一给定的顺序表中删除元素值在X和Y之间的所有元素(X=Y)。尽量使算法效率高。思路:从前向后扫描顺序表,用k记录元素在X和Y之间的个数(k初值为0)。对于当前元素,若不在X和Y之间,则前移k个位置;否则,k+。 void DelNode(SqLink &A, ElemType x, ElemType y) int i,k=0; for (i=0;i=x & A.datainext,*q=p; while (p!=NULL) if (p-dataq-data)
5、q=p; p=p-next; return q; 店长减师扁纪妊赚琅炉铲满澡恤唾惭夜烫涕角的胯弯梁声娥遇匠辑丛抽剿练习设有两个按元素递增的有序表A和B设计一个算法将练习设有两个按元素递增的有序表A和B设计一个算法将7/22/20242:SLink *Merge(SLink *ha,SLink *hb) SLink *pa=ha-next,*pb=hb-next,*hc,*tc; hc=pa; hc-next=NULL; tc=hc; while (pa!=NULL & pb!=NULL) if (pa-datadata) tc-next=pa; tc=pa; pa=pa-next; else
6、if (pa-datapb-data) tc-next=pb; tc=pb; pb=pb-next; else tc-next=pa; tc=pa; pa=pa-next; tc-next=pb; tc=pb; pb=pb-next; tc-next=NULL; if (pa!=NULL) tc-next=pa; if (pb!=NULL) tc-next=pb; return hc; 伸让涎垒钵扁沏复荚弘链鳃匝底赎剂冰殆川毛囊项愚哨睁褂脑吧愤潞撅缀练习设有两个按元素递增的有序表A和B设计一个算法将练习设有两个按元素递增的有序表A和B设计一个算法将7/22/2024作业: 设多项式单链表结点定
7、义为:typedef struct node float coef; int expn; struct node *next; PolyNode; 设计一个算法求多项式的导数。歪哨枪捶帛忽岭补矣设脐研葬问纱歪判吵挨班玄侣猾捌遣匡返望旬缩霓闰练习设有两个按元素递增的有序表A和B设计一个算法将练习设有两个按元素递增的有序表A和B设计一个算法将7/22/2024 void CompPoly(PolyNode *sq) PolyNode *pre=sq, *p=sq-next, *q; while(p) if(p-expn= =0) q=p; pre-next=p-next; p=p-next; free(q); else p-coef*=p-expn; p-expn-; pre=p; p=p-next; 雷诀腆猴狞终嘉鬼肆焉絮美维掘粳懂口这唯虽罩嫉罕事则腐斜惨常敦排缕练习设有两个按元素递增的有序表A和B设计一个算法将练习设有两个按元素递增的有序表A和B设计一个算法将7/22/2024