?? 2.12.c
字號:
◆2.12③ 設(shè)A=(a1,…,am)和B=(b1,…,bn)均為有序順序表,
A'和B'分別為A和B中除去最大共同前綴后的子表(例如,
A=(x,y,y,z,x,z),B=(x,y,y,z,y,x,x,z),則兩者中最大
的共同前綴為(x,y,y,z), 在兩表中除去最大共同前綴后
的子表分別為A'=(x,z)和B'=(y,x,x,z))。若A'=B'=空表,
則A=B;若A'=空表,而B'≠ 空表,或者兩者均不為空表,
且A'的首元小于B'的首元,則A<B;否則A>B。試寫一個比
較A和B大小的算法。(注意:在算法中,不要破壞原表A
和B,也不一定先求得A'和B'才進行比較)。
要求實現(xiàn)下列函數(shù):
char Compare(SqList A, SqList B);
/* 比較順序表A和B, */
/* 返回'<', 若A<B; */
/* '=', 若A=B; */
/* '>', 若A>B */
順序表類型定義如下:
typedef struct {
ElemType *elem;
int length;
int listsize;
} SqList;
char Compare(SqList A, SqList B)
// 比較順序表A和B,
// 返回'<', 若A<B;
// '=', 若A=B;
// '>', 若A>B
{
int i;
for(i=0;A.elem[i]||B.elem[i];i++)
if(A.elem[i]!=B.elem[i])
{if(A.elem[i]-B.elem[i]>0) return '>';
else return '<';}
return '=';
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -