求任意两个有序一维数组的合并
大家帮忙写写!!!谢谢了!!!简单实现一下,没有想太多
#include<stdio.h>
int main()
{
int a={2,4,9,12,23};
int b={1,4,5,6,11,14,25,26,27};
int c={0};
int i=0,j=0,n=0;
while(i<5||j<9){
if(i<5&&a<=b){
c=a;
i++;
}
else if(j<9){
c=b;
j++;
}
n++;
}
for(i=0;i<14;i++){
printf("%d ",c);
}
printf("\n");
return 0;
}
elvo 发表于 2014-6-19 14:59 static/image/common/back.gif
简单实现一下,没有想太多
任意的两个!!! 爱上她_不过一场 发表于 2014-6-19 15:01 static/image/common/back.gif
任意的两个!!!
额,我都说了是简单实现了一下,主要是一个思路,像那种输入任意有序数组的实现有什么意思....你自己for循环输入吧 本帖最后由 ravenhu13 于 2014-6-19 19:52 编辑
支持任意两个数组,并且可以无序化。#include "stdafx.h"
#include "stdio.h"
#include <string.h>
#include <crtdbg.h>
#include <malloc.h>
//int a={2,4,9,12,23};
//int b={1,4,5,6,11,14,25,26,27};
int a={7,4,13,12,23};
int b={18,4,5,6,11,14,25,26,27};
int _tmain(int argc, _TCHAR* argv[])
{
int a_size = sizeof(a)/sizeof(int);
int b_size = sizeof(b)/sizeof(int);
int size = a_size + b_size;
int *s = (int*)malloc(size);
int *p;
p = s;
for (int i=0;i<a_size;i++)
{
p = a;
}
p = p + a_size;
for ( i=0;i<b_size;i++)
{
p = b;
}
int temp;
int j;
for (int i = 0;i<size;i++)
{
for ( j=i+1;j<size;j++)
{
if (s>s)
{
temp = s;
s = s;
s = temp;
}
}
}
for ( i=0;i<size;i++)
{
printf("%d,",s);
}
return 0;
} ravenhu13 发表于 2014-6-19 19:50 static/image/common/back.gif
支持任意两个数组,并且可以无序化。
恩恩!!!
页:
[1]