求兩個有序鍊錶的交集和差集

2021-08-02 14:44:36 字數 970 閱讀 4573

typedef struct listnode

listnode;

//交集(注意:list1和list2如果各有2個4,交集也會出現兩次)

listnode* intersection(listnode* plist1, listnode* plist2)

//頭結點(哨兵位節點)

listnode* newlist = buynode(0);

listnode* tail = newlist;

//相等了一起走,值給tail,不相等小的走

while(plist1 && plist2)

else if(plist1->data < plist2->data)

else

}tail->next = null; //注意tail->next要置空

return newlist->next;

}

//差集

listnode* difset(listnode* plist1, listnode* plist2)

//頭結點(哨兵位節點)

listnode* newlist = buynode(0);

listnode* tail = newlist;

while(plist1 && plist2)

else if(plist1->data < plist2->data)

else

}if(plist1)

else

return newlist->next;

}

兩個有序鍊錶序列的交集

已知兩個非降序鍊錶序列s1與s2,設計函式構造出s1與s2的交集新鍊錶s3。輸入分兩行,分別在每行給出由若干個正整數構成的非降序序列,用 1 表示序列的結尾 1 不屬於這個序列 數字用空格間隔。在一行中輸出兩個輸入序列的交集序列,數字間用空格分開,結尾不能有多餘空格 若新鍊錶為空,輸出null。1 ...

兩個有序鍊錶序列的交集

已知兩個非降序鍊錶序列s1與s2,設計函式構造出s1與s2的交集新鍊錶s3。輸入分兩行,分別在每行給出由若干個正整數構成的非降序序列,用 1表示序列的結尾 1不屬於這個序列 數字用空格間隔。在一行中輸出兩個輸入序列的交集序列,數字間用空格分開,結尾不能有多餘空格 若新鍊錶為空,輸出null。1 2 ...

兩個有序鍊錶序列的交集

7 52 兩個有序鍊錶序列的交集 20 分 已知兩個非降序鍊錶序列s1與s2,設計函式構造出s1與s2的交集新鍊錶s3。輸入分兩行,分別在每行給出由若干個正整數構成的非降序序列,用 1表示序列的結尾 1不屬於這個序列 數字用空格間隔。在一行中輸出兩個輸入序列的交集序列,數字間用空格分開,結尾不能有多...