2022年11月13日 星期日

[88] Merge Sorted Array

這題其實寫過了~
拿來抱佛腳複習quick sort 囧
void swap(int *a, int *b)
{
int tmp;
tmp = *a;
*a=*b;
*b=tmp;
}

void qqsort(int* nums,int low, int right)
{
int l=low, r=right;
int mid = (l+r)/2;
int pivot= nums[mid];
while (l<=r)
{
while (nums[l]< pivot)
l++;
while (nums[r]>pivot)
r--;
if (l<=r)
{
swap(&nums[l],&nums[r]);
l++;
r--;
}
}
if (low<r)
qqsort(nums,low,r);
if (l<right)
qqsort(nums,l,right);
}

void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n){
if (n==0 && m==1)
return;
if (n==1 && m==0)
{
nums1[0]=nums2[0];
return;
}

for (int i =m;i< m+n;i++)
nums1[i]=nums2[i-m];
qqsort(nums1,0,nums1Size-1);

}

沒有留言:

張貼留言