Need to sort 3 arrays by one key array
- by jeff6461
I am trying to get 3 arrays sorted by one key array in objective c for the iphone, here is a example to help out...
Array 1 Array 2 Array 3 Array 4
1 15 21 7
3 12 8 9
6 7 8 0
2 3 4 8
When sorted i want this to look like
Array 1 Array 2 Array 3 Array 4
1 15 21 7
2 3 4 8
3 12 8 9
6 7 8 0
So array 2,3,4 are moving with Array 1 when sorted.
Currently i am using a bubble sort to do this but it lags so bad that it crashes by app.
The code i am using to do this is
int flag = 0;
int i = 0;
int temp = 0;
do
{
flag=1;
for(i = 0; i < distancenumber; i++)
{
if(distance[i] > distance[i+1])
{
temp = distance[i];
distance[i]=distance[i + 1];
distance[i + 1]=temp;
temp = FlowerarrayNumber[i];
FlowerarrayNumber[i] = FlowerarrayNumber[i+1];
FlowerarrayNumber[i + 1] = temp;
temp = BeearrayNumber[i];
BeearrayNumber[i] = BeearrayNumber[i + 1];
BeearrayNumber[i + 1] = temp;
flag=0;
}
}
}while (flag==0);
where distance number is the amount of elements in all of the arrays, distance is array 1 or my key array.
and the other 2 are getting sorted.
If anyone can help me get a merge sort(or something faster, it is running on a iPhone so it needs to be quick and light) to do this that would be great i cannot figure out how the recursion works in this method and so having a hard time to get the code to work.
Any help would be greatly appreciated