有兩個鍊錶,將這兩個鍊錶排序後組成新的鍊錶

2021-08-29 12:22:05 字數 897 閱讀 7168

如 list1=;list2=;

合併的新鍊錶list3=

#include #include using namespace std;

struct listnode//鍊錶定義

;listnode* create(int arr, int n)//叢陣列讀取元素組成鍊錶

} return head;

}//呼叫鍊錶列印函式,列印出合併後的鍊錶元素,**如下:

void printlist(struct listnode *head)

}listnode* createlist(struct listnode * list1, struct listnode* list2)//合併 併排好序

else

listnode *temp = head;//記錄當前鍊錶指標位置

listnode *next = null;//記錄正在操作的元素指標

while (list1&&list2)

else

}while (list1)

while (list2)

return head;//返回煉表頭指標

}int main()

; int arr2 = ;

listnode* list1 = create(arr1, 6);

listnode* list2 = create(arr2, 3);

printlist(list1);

cout << endl;

printlist(list2);

listnode* list3= createlist(list1,list2);

cout << endl;

printlist(list3);

}

合併兩個排序鍊錶

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。解題思路 遍歷第二個鍊錶的每乙個節點,然後與第乙個節點的第乙個節點比較,如果第二個鍊錶節點的值小於第乙個,就插入到第乙個煉表裡,如果大於就到下乙個節點。...