北京网站优化流程,外贸公司名字免费起名大全,代刷推广网站,网站导航条图片素材顺序表的结构存放在栈区#xff0c;存放的内容在堆区
方法一#xff1a;
1、断言指针不为空
2、申请新空间为两个数组大小之和
3、将两个数组写进去新申请的空间中
在两个数组都没有写进去的情况下#xff0c;进行比较#xff0c;小的先写#xff0c;写完进行下一个的…顺序表的结构存放在栈区存放的内容在堆区
方法一
1、断言指针不为空
2、申请新空间为两个数组大小之和
3、将两个数组写进去新申请的空间中
在两个数组都没有写进去的情况下进行比较小的先写写完进行下一个的比较直到其中一个数组完全写完然后退出比较将没有写完的数组再写道入新数组中
void hebing(int* p1, int* p2, int m, int n)
{assert(p1 ! NULL p2 ! NULL);int* newdate (int*)malloc(sizeof(int) * (m n));if (NULL newdate){exit(1);}int i 0, j 0,k0;while (i m j n){newdate[k] p1[i]p2[j] ? p1[i]:p2[j];}while (i m){newdate[k] p1[i];}while (j n){newdate[k] p2[j];}for (int i 0; i m n; i){p1[i] newdate[i];}free(newdate);newdate NULL;}
方法二
从后向前依次放去如果数组2先放完则排序成功如果数组一先放完将数组二剩下的依次放入到数组一剩下的位置中
void hebing2(int* p1, int* p2, int m, int n)
{assert(p1 ! NULL p2 ! NULL);int i m - 1, j n - 1,k m n - 1;while (i 0 j 0){p1[k--] p1[i] p2[j] ? p1[i--] : p2[j--];}while (j 0){p1[k--] p2[j--];}
}