How to reorder an array according to given indexes in Swift

1 Answer

0 votes
class CArray
{
    func printArray(_ arr: [Int]) {
        let size: Int = arr.count;
        var i: Int = 0;
         
        while (i < size) {
            print(arr[i], terminator: " ");
            i += 1;
        }
        print(terminator: "\n");
    }
    func reorder(_ arr: inout[Int], _ indexes: [Int], _ i: Int) {
        let size: Int = arr.count;
         
        if (i < size) {
            let data: Int = arr[i];
            self.reorder(&arr, indexes, i + 1);
            arr[indexes[i]] = data;
        }
    }
}
 
let obj: CArray = CArray();
     
var arr: [Int] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
let indexes: [Int] = [1, 0, 4, 3, 2, 5, 9, 7, 8, 6];
 
 
obj.printArray(arr);
obj.printArray(indexes);
     
obj.reorder(&arr, indexes, 0);
     
obj.printArray(arr);
 
 
 
 
 
/*
run:
 
1 2 3 4 5 6 7 8 9 10 
1 0 4 3 2 5 9 7 8 6 
2 1 5 4 3 6 10 8 9 7  
 
*/

 



answered Nov 29, 2021 by avibootz
edited Nov 30, 2021 by avibootz

Related questions

1 answer 198 views
1 answer 209 views
1 answer 214 views
1 answer 258 views
1 answer 209 views
1 answer 267 views
1 answer 206 views
...