Last active
December 15, 2015 21:59
-
-
Save vteial/5329336 to your computer and use it in GitHub Desktop.
Reverse the contents of array using Java, Groovy, JavaScript and Dart
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // To live run use online dart console from here http://try.dartlang.org/ | |
| List<int> reverseArray0(List<int> items) { | |
| List<int> ritems = new List<int>(); | |
| ritems.addAll(items.reversed); | |
| return ritems; | |
| } | |
| List<int> reverseArray1(List<int> items) { | |
| List<int> ritems = new List<int>(items.length); | |
| for(int i = items.length-1, j = 0; i >= 0; i--, j++) { | |
| ritems[j] = items[i]; | |
| } | |
| return ritems; | |
| } | |
| void reverseArray2(List<int> items) { | |
| int e = items.length ~/ 2; | |
| for(int i = 0, j = items.length-1; i < e; i++, j--) { | |
| int t = items[i]; | |
| items[i] = items[j]; | |
| items[j] = t; | |
| } | |
| } | |
| void reverseArray3(List<int> items) { | |
| reverseArray33(items, 0, items.length-1); | |
| } | |
| void reverseArray33(List<int> items, int i , int j) { | |
| if(i < j) { | |
| int t = items[i]; | |
| items[i] = items[j]; | |
| items[j] = t; | |
| reverseArray33(items, ++i, --j); | |
| } | |
| } | |
| void main() { | |
| var items = <int>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; | |
| print("Given Items = $items"); | |
| items = reverseArray0(items); | |
| print("Reverse Version 0 : $items"); | |
| items = reverseArray1(items); | |
| print("Reverse Version 1 : $items"); | |
| reverseArray2(items); | |
| print("Reverse Version 2 : $items"); | |
| reverseArray3(items); | |
| print("Reverse Version 3 : $items"); | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // To live run use online groovy console from here http://groovyconsole.appspot.com/ | |
| def reverseArray0 = { def items -> | |
| return items.reverse(false) | |
| } | |
| def reverseArray1 = { def items -> | |
| def nItems = []; | |
| int j = items.size()-1; | |
| for(int i = 0; i < items.size(); i++) { | |
| nItems[i] = items[j--]; | |
| } | |
| return nItems; | |
| } | |
| def reverseArray2 = { def items -> | |
| int j = items.size() - 1; | |
| int e = items.size() / 2; | |
| for(int i = 0; i < e; i++) { | |
| def t = items[i]; | |
| items[i] = items[j]; | |
| items[j--] = t; | |
| } | |
| } | |
| def reverseArray33 = {} | |
| reverseArray33 = { def items, def i, def j -> | |
| if(i < j) { | |
| def t = items[i] | |
| items[i] = items[j] | |
| items[j] = t; | |
| reverseArray33(items, ++i, --j) | |
| } | |
| } | |
| def reverseArray3 = { def items -> | |
| reverseArray33(items, 0, items.size() - 1) | |
| } | |
| def items = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; | |
| println "Given Items = $items"; | |
| items = reverseArray0(items); | |
| println "Reverse Version 0 : $items" | |
| items = reverseArray1(items); | |
| println "Reverse Version 1 : $items" | |
| reverseArray2(items); | |
| println "Reverse Version 2 : $items"; | |
| reverseArray3(items); | |
| println "Reverse Version 2 : $items"; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| public class JReverseArrayTest { | |
| static int[] reverseArray0(int[] items) { | |
| // yet to figure out sdk library's method to reverse array items | |
| return items; | |
| } | |
| static int[] reverseArray1(int[] items) { | |
| int[] nItems = new int[items.length]; | |
| for (int i = 0, j = nItems.length - 1; i < items.length; i++, j--) { | |
| nItems[i] = items[j]; | |
| } | |
| return nItems; | |
| } | |
| static void reverseArray2(int[] items) { | |
| int e = items.length / 2; | |
| for (int i = 0, j = items.length - 1; i < e; i++, j--) { | |
| int t = items[i]; | |
| items[i] = items[j]; | |
| items[j] = t; | |
| } | |
| } | |
| static void reverseArray3(int[] items) { | |
| reverseArray3(items, 0, items.length - 1); | |
| } | |
| private static void reverseArray3(int[] items, int i, int j) { | |
| if (i < j) { | |
| int t = items[i]; | |
| items[i] = items[j]; | |
| items[j] = t; | |
| reverseArray3(items, ++i, --j); | |
| } | |
| } | |
| static String toPrintString(int[] items) { | |
| StringBuilder sb = new StringBuilder("["); | |
| for (int i = 0; i < items.length; i++) { | |
| sb.append(items[i] + ","); | |
| } | |
| sb.append("]"); | |
| return sb.toString(); | |
| } | |
| public static void main(String args[]) { | |
| int items[] = { 1, 2, 3, 4, 5, 6, 7 }; | |
| System.out.println("Given Items = " + toPrintString(items)); | |
| System.out.println("Reverse Version 0 : " | |
| + toPrintString(reverseArray0(items))); | |
| System.out.println("Reverse Version 1 : " | |
| + toPrintString(reverseArray1(items))); | |
| reverseArray2(items); | |
| System.out.println("Reverse Version 2 : " + toPrintString(items)); | |
| reverseArray3(items); | |
| System.out.println("Reverse Version 3 : " + toPrintString(items)); | |
| } | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // To live run use online java script console from here http://repl.it/ | |
| // Uncomment below commented block if you are going to run in browser | |
| /* | |
| var println = function(message) { | |
| console.log(message); | |
| }; | |
| */ | |
| // Comment the above commented block if you are going to run in Eclipse | |
| var reverseArray0 = function(items) { | |
| return items.reverse(); | |
| }; | |
| var reverseArray1 = function(items) { | |
| var nItems = [], j = items.length - 1; | |
| for ( var i = 0; i < items.length; i++) { | |
| nItems[i] = items[j--]; | |
| } | |
| return nItems; | |
| }; | |
| var reverseArray2 = function(items) { | |
| var e = Math.ceil(items.length / 2); | |
| for ( var i = 0, j = items.length - 1; i < e; i++, j--) { | |
| var t = items[i]; | |
| items[i] = items[j]; | |
| items[j] = t; | |
| } | |
| }; | |
| var reverseArray3 = function(items) { | |
| reverseArray33(items, 0, items.length - 1); | |
| }; | |
| var reverseArray33 = function(items, i, j) { | |
| if (i < j) { | |
| var t = items[i]; | |
| items[i] = items[j]; | |
| items[j] = t; | |
| reverseArray33(items, ++i, --j); | |
| } | |
| }; | |
| var items = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]; | |
| println("Given Items = " + items); | |
| items = reverseArray0(items); | |
| println("Reverse Version 0 : " + items); | |
| items = reverseArray1(items); | |
| println("Reverse Version 1 : " + items); | |
| reverseArray2(items); | |
| println("Reverse Version 2 : " + items); | |
| reverseArray3(items); | |
| println("Reverse Version 3 : " + items); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment