6 5 共享字尾的鍊錶 20分

2021-10-10 14:28:51 字數 1016 閱讀 7951

有一種儲存英文單詞的方法,是把單詞的所有字母串在乙個單鏈表上。為了節省一點空間,如果有兩個單詞有同樣的字尾,就讓它們共享這個字尾。下圖給出了單詞「loading」和「being」的儲存形式。本題要求你找出兩個鍊錶的公共字尾。

函式介面定義:

ptrtonode suffix( list l1, list l2 );

其中list結構定義如下:

typedef struct node ptrtonode;

struct node ;

typedef ptrtonode list; / 定義單鏈表型別 */

l1和l2都是給定的帶頭結點的單鏈表。函式suffix應返回l1和l2的公共字尾的起點位置。

裁判測試程式樣例:

#include

#include

typedef char elementtype;

typedef struct node ptrtonode;

struct node ;

typedef ptrtonode list; / 定義單鏈表型別 */

void readinput( list l1, list l2 ); /* 裁判實現,細節不表 /

void printsublist( ptrtonode startp ); / 裁判實現,細節不表 */

ptrtonode suffix( list l1, list l2 );

int main()

while

(q)int tmp;

p=l1-

>next;

q=l2-

>next;

if(len2>len1)

else

while

(p&&p!=q&&q)

if(p)

return p;

return

null

;}

6 1 共享字尾的鍊錶 20分

有一種儲存英文單詞的方法,是把單詞的所有字母串在乙個單鏈表上。為了節省一點空間,如果有兩個單詞有同樣的字尾,就讓它們共享這個字尾。下圖給出了單詞 loading 和 being 的儲存形式。本題要求你找出兩個鍊錶的公共字尾。其中list結構定義如下 typedef struct node ptrto...

6 5 奇數值結點鍊錶 20 分

本題要求實現兩個函式,分別將讀入的資料儲存為單鏈表 將鍊錶中奇數值的結點重新組成乙個新的鍊錶。鍊錶結點定義如下 struct listnode struct listnode readlist struct listnode getodd struct listnode l 函式readlist從標...

鍊錶題4 共享字尾

共享字尾的鍊錶 20分 有一種儲存英文單詞的方法,是把單詞的所有字母串在乙個單鏈表上。為了節省一點空間,如果有兩個單詞有同樣的字尾,就讓它們共享這個字尾。下圖給出了單詞 loading 和 being 的儲存形式。本題要求你找出兩個鍊錶的公共字尾。ptrtonode suffix list l1,l...