-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathStringReverse.java
37 lines (32 loc) · 1.02 KB
/
StringReverse.java
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
33
34
35
36
37
package memorymanagertest;
import memorymanager.FunctionCall;
import memorymanager.MemoryManager;
/**
*
* @author scopeinfinity
*/
public class StringReverse extends FunctionCall{
StringReverse(Object... args) {
super(args);
}
@Override
public void execute() {
// System.out.println("For Working Inside String Reverse : Begin");
// MemoryManager.getInstance().printMemory();
int argc = countArguments();
int address = getArgument(0);
int l=0;
while(MemoryManager.dereference(address+l)!=0)
l++;
for(int i=0,j=l-1;i<j;i++,j--)
{
int v1 = MemoryManager.dereference(address+i);
int v2 = MemoryManager.dereference(address+j);
MemoryManager.setValue(address+i, v2);
MemoryManager.setValue(address+j, v1);
}
setResult(l);
// System.out.println("For Working Inside String Reverse : END");
// MemoryManager.getInstance().printMemory();
}
}