《比较顺序表A和B的大小》由会员分享,可在线阅读,更多相关《比较顺序表A和B的大小(3页珍藏版)》请在金锄头文库上搜索。
1、设A=(a1,a2,am)和B=(b1,b2,bn)均为顺序表,A和B分别为A和B中除去最大共同前缀后的子表。若A=B=空表,则A=B;若A=空表,而B!=空表,或均不为空表,且A的表首元素小于B的,则AB.试比较A,B的大小。#includeclass listprivate:int *elem;int length;public:list(int a,int l)elem=a;length=l;friend int compare(list &a,list &b);/定义为友元函数,方便访问数据成员。void output();int compare(list &a,list &b)/这里
2、应该相当于一个普通函数。int j=0;while(ja.length&jb.length)/循环min(a,b)的最小值。if(a.elemjb.elemj) return 1; else j+;if(a.length=b.length) return 0;else if(a.lengthb.length) return -1;else return 1;/这个else是必须的,否则,当a是b的真子集(反之亦然)时,就会出现错误。void list:output()for(int i=0;ilength;i+)coutelemit;coutn;void main()int a=1,2,3,4,5,6;list A(a,6);A.output();int b=1,2,3,4,5;list B(b,5);B.output();int m=compare(A,B);coutmn;结果如下: