#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char ** sortArray(char **p,int num1,char (*q)[30],int num2)
{
char **res = (char**)malloc((num1 + num2)*sizeof(char*));
for (int i = 0; i < num1 + num2; i++)
{
res[i] = (char*)malloc(128);
memset(res[i], 0x00, sizeof(res[i]));
}
int index = 0;
for (; index < num1; index++)
{
strcpy(res[index],p[index]);
}
for (int i = 0; i < num2;index++,i++)
{
strcpy(res[index], q[i]);
}
for (int i = 0; i < num1 + num2; i++)
{
for (int j = i + 1; j < num1 + num2; j++)
{
char *tmp = NULL;
if (strcmp(res[i], res[j]) > 0)
{
tmp = res[i];
res[i] = res[j];
res[j] = tmp;
}
}
}
return res;
}
void printfArray(char **p, int num)
{
for (int i = 0; i < num; i++)
{
printf("%s\n", p[i]);
}
}
int main()
{
char *array1[] = {"1111","2222","ffffff","dddddd"};
char array2[10][30] = {"zzzz","yyyy","xxxxx"};
char **p = sortArray(array1,4,array2,3);
printfArray(p,7);
}