我是C新手,並且遇到此代碼的一些問題。基於另一個陣列順序的數組排序
我需要將數組拆分爲兩個不同的數組,並按第一個數組的順序對第二個數組進行排序。
有什麼想法嗎?
下面是我走到這一步:
#include <stdio.h>
void main()
{
int currentN;
int i, n;
int array[20];
printf("Enter the value of n\n");
scanf("%d", &n);
if (n%2 !=0)
{
printf("sequence would not be equ. please enter Odd \n");
printf("Please Enter even number\n");
scanf("%d", &n);
}
//add
printf("enter the numbers\n");
for (i = 0; i < n; ++i)
{
scanf("%d", &array[i]);
// scanf("%d", ¤tN);
// seq[i]= currentN;
}
n++;
//add
int *firstHalf = malloc(n/2 * sizeof(int));
if (!firstHalf)
{
/* handle error */
}
int *secondHalf = malloc(n/2 * sizeof(int));
if (!secondHalf)
{
/* handle error */
}
memcpy(firstHalf, array, n/2 * sizeof(int));
memcpy(secondHalf, array + n/2, n/2 * sizeof(int));
for (i = 0; i < n/2; i++)
{
printf("%d\t", firstHalf[i]);
//printf("%d\n", secondHalf[i]);
//printf("\n************************");
}
printf("\n*********************\n");
for (i = 0; i < n/2; i++)
{
printf("%d\t", secondHalf[i]);
}
}
你說的「問題」究竟是什麼? –
我想按照第一個數組順序對第二個數組進行排序 – Joh
@Joh請在[如何接受答案工作?](http://meta.stackexchange.com/q/5234/179419)上看到此帖子。 –