GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — Algorithm/java/coding/arrayReorder.java at master · lelea2/Algorithm Expand file tree/ Copy patharrayReorder.javaMore file actions 33 lines (27 loc) · 739 Bytes / Copy patharrayReorder.javaFile metadata and controls33 lines (27 loc) · 739 Bytes 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 /*We have an array of objects A and an array of indexes B. Reorder objects in array A with given indexes in array B. Do not change array A's length. var A = [C, D, E, F, G]; var B = [3, 0, 4, 1, 2]; sort(A, B); // A is now [D, F, G, C, E]; */ //Runtime(O(n)) public void reorder(char [] A, int [] B){ for (int i = 0 ; i < B.length ; ++i) { int tmp = i ; while (B[tmp] != tmp) { swap(A, B[tmp], tmp); swapIndex (B, B[tmp], tmp) ; tmp = B[tmp] ; } } } private void swap (char [] A, int i , int j) { char tmp = A[i] ; A[i] = A[j] ; A[j] = tmp ; } private void swapIndex (int [] A, int i , int j) { int tmp = A[i] ; A[i] = A[j] ; A[j] = tmp ; } |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |