題目1519 合併兩個排序的鍊錶

2021-06-25 16:53:59 字數 1208 閱讀 6672

題目描述:輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。

(hint: 請務必使用鍊錶。)

輸入:輸入可能包含多個測試樣例,輸入以eof結束。

對於每個測試案例,輸入的第一行為兩個整數n和m(0<=n<=1000, 0<=m<=1000):n代表將要輸入的第乙個鍊錶的元素的個數,m代表將要輸入的第二個鍊錶的元素的個數。

下面一行包括n個數t(1<=t<=1000000):代表鍊錶一中的元素。接下來一行包含m個元素,s(1<=t<=1000000)。

輸出:對應每個測試案例,

若有結果,輸出相應的鍊錶。否則,輸出null。

樣例輸入:

5 2

1 3 5 7 9

2 40 0

樣例輸出:

1 2 3 4 5 7 9

null

注意學會如何建立鍊錶,遍歷鍊錶,輸出鍊錶等操作。

**:

#include #include #include struct listnode;

void output(listnode *head)

else

else

p = p->next;

} }}listnode* createlist(listnode *head,int n)

return head;

}listnode* merge(listnode *head1,listnode *head2)

else if(head2->next == null)

else if(head1->next == null)

else

else

p3 = p3->next;

} while(p1 != null)

while(p2 != null)

return head; }}

int main()

if(m != 0)

head1 = merge(head1,head2);

if(head1 == null)

else

} return 0;

}

合併兩個排序鍊錶

struct listnode class solution else while pstart1 null pstart2 null plast next pstart1 plast pend1 pend1 pend1 next pstart1 pend1 else plast next psta...

合併兩個排序鍊錶

描述 將兩個排序鍊錶合併為乙個新的排序鍊錶樣例 給出1 3 8 11 15 null,2 null,返回1 2 3 8 11 15 null。解題思路 將兩個鍊錶當中的對應元素的值進行比較,重新確定新鍊錶當中元素的位置。若第乙個鍊錶當前位置的值小於第二個鍊錶當前值,則不需要改變位置,第乙個鍊錶的指標...

合併兩個排序鍊錶

問題描述 將兩個排序鍊錶合併為乙個新的排序鍊錶 樣例 給出1 3 8 11 15 null,2 null,返回1 2 3 8 11 15 null。解題思路 遍歷第二個鍊錶的每乙個節點,然後與第乙個節點的第乙個節點比較,如果第二個鍊錶節點的值小於第乙個,就插入到第乙個煉表裡,如果大於就到下乙個節點。...