码迷,mamicode.com
首页 > 其他好文 > 详细

(lleetcode)Merge Sorted Array

时间:2015-08-08 21:15:02      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:

Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.

Note:
You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold additional elements from nums2. The number of elements initialized in nums1and nums2 are m and n respectively.

 

使用快排进行排序:

 1 class Solution {
 2 public:
 3 
 4     void quicksort(vector<int>& a,int left,int right)
 5     {
 6         if(left>right) 
 7         return;
 8         int piv = a[left];
 9         int i = left;
10         int j = right;
11     
12         while(i!=j)
13         {
14             //从右边开始
15             while(a[j] >= piv && i < j)
16                 j--;
17             while(a[i] <= piv && i < j)
18                 i++;
19     
20             if(i<j)
21             {
22                 /*int t = a[i];
23                 a[i]=a[j];
24                 a[j]=t;*/
25                 swap(a[i],a[j]);
26             }
27         }
28         a[left] = a[i];
29         a[i] = piv;
30     
31         quicksort(a,left,i-1);
32         quicksort(a,i+1,right);
33     }
34     void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
35         int i,j;
36         for(i = m,j=0;i<m+n;++i)
37         {
38             nums1[i] = nums2[j++];
39         }
40         quicksort(nums1,0,m+n-1);
41     }
42 };

 

(lleetcode)Merge Sorted Array

标签:

原文地址:http://www.cnblogs.com/chdxiaoming/p/4713825.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!