我试图合并到数组而没有排序(添加一个然后另一个)使用指针方法,但它只是打印第一个数组,然后打印垃圾值。 我想要做的只是在一个大数组中组合2个数组。 无需排序(至少目前为止)。
void getarray(int*,int); int merge(int*,int*,int,int,int*); main() { int a[10],b[10],c[20]; int i,j,n,m,size; clrscr(); printf("Enter no. of elements in FIRST array: "); scanf("%d",&n); getarray(a,n); printf("Enter no. of elements in SECOND array: "); scanf("%d",&m); getarray(b,m); merge(a,b,n,m,c); printf("nMerged Array: n"); for(i=0;i<n+m;i++) { printf("t%dt",c[i]); } getch(); return 0; } void getarray(int *x, int y) { int i; for(i=0;i<y;i++) { scanf("%d",x+i); } } int merge(int *a, int *b,int n,int m,int *c) { int i,j; for(i=0;i<n;i++) { *(c+i) = *(a+i); } for(j=i;j<i+m;j++) { *(c+j) = *(b+j); } }
int merge(int *a, int *b,int n,int m,int *c) { int i,j; for(i=0;i
或者你可以使用(假设c足够大):
void merge(int *a, int *b,int n,int m,int *c) { memcpy(c, a, sizeof(int)*n); memcpy(c+n, b, sizeof(int)*m); }
你需要包含string.h
。
以上就是c/c++开发分享合并两个数组而不使用数组进行排序相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/550199.html