#ifndef MERGE_H_INCLUDED
#define MERGE_H_INCLUDED
#include <stdio.h>
#include <stdlib.h>
int * Merge(int * a , int asize , int * b , int bsize){
//分配一个可以刚好装下a,b数组
int * c = (int*)malloc(sizeof(int) * asize * bsize);
int i , j , k ;
i = j = k = 0;
//比较大小
while(asize > i && bsize > j){
if(a[i] > b[j]){
c[k++] = b[j++];
}
else if(a[i] < b[j])
{
c[k++] = a[i++];
}
}
//将剩余的直接插入c的后面
while(i < asize){
c[k++] = a[i++];
}
while(j < bsize){
c[k++] = b[j++];
}
//将合并后的指针返回
return c ;
}
#endif // MERGE_H_INCLUDED
数据结构作业---有序表合并(顺序)
最新推荐文章于 2022-08-16 14:56:46 发布