資源簡介
設A和B是兩個單鏈表,其表中元素遞增有序。試寫一算法將A和B歸并成一個按元素值遞減有序的單鏈表C,并要求輔助空間為O(1),試分析算法的時間復雜度。
代碼片段和文件信息
#include?
using?namespace?std;
class?linkList;
class?linkNode
{
friend?class?linkList;
public:
int?data;
linkNode?*next;
linkNode?(?const?int?item?)?:?data(item)?next(NULL){?}
};
class?linkList
{
private:
linkNode?*head*tail;
public:
linkList?(?)?:?head(NULL)tail?(NULL){}
~linkList?(?){}
linkNode*?NewNode?(const?int?item);
void?NewlinkList?(?const?int?retvalue?);
void?Swap();
void?Merger(linkList&?p);
void?Print();
linkNode*?GetNode(int?i);
};
linkNode*?linkList::NewNode(const?int?item)
{
linkNode?*newnode=new?linkNode(item);
return?newnode;
}
void?linkList::NewlinkList(const?int?retvalue)
{
head?=?NULL;
int?value;
linkNode?*q;
cout?<“Input?your?data:\n“;
cin?>>?value;
while?(?value?!=?retvalue?)
{
q=New
評論
共有 條評論