小工具-合併兩個有序的數組-

void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
        int p1=0,p2=0;
        vector<int>temp;
        while ( p2 < n && p1 < m )
        {
        	if(nums1[p1]>nums2[p2]){temp.push_back(nums2[p2]);p2++;}
        	else {temp.push_back(nums1[p1]);p1++;}
        }
    
        while(p1<m){ temp.push_back(nums1[p1]);p1++;}
      	while(p2<n){ temp.push_back(nums2[p2]);p2++;}

      	for (int i = 0; i < m+n; ++i)
      	{
      		nums1[i] = temp[i];
      	}
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章