/** * Note: The returned array must be malloced, assume caller calls free(). */ int* createTargetArray(int* nums, int numsSize, int* index, int indexSize, int* returnSize){ int* arr=(int*)calloc(numsSize,sizeof(int)); int i, j; for(i=0; i<indexSize; i++){ if(index[i] < i) for(j=i; j>index[i]; j--) arr[j]=arr[j-1]; arr[index[i]]=nums[i]; } *returnSize=numsSize; return arr; }