Need to sort 3 arrays by one key array

Posted by jeff6461 on Stack Overflow See other posts from Stack Overflow or by jeff6461
Published on 2010-05-30T17:38:34Z Indexed on 2010/05/30 17:42 UTC
Read the original article Hit count: 179

Filed under:
|
|
|
|

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

© Stack Overflow or respective owner

Related posts about c

    Related posts about sorting