private static string[] ProcessHeapCommands(string[] heapCmd, int[] heapArg, MedianTracker medianTracker) { string[] res = new string[heapCmd.Length]; for (int ii = 0; ii < heapCmd.Length; ii++) { res[ii] = ProcessHeapCommand(heapCmd[ii], heapArg[ii], medianTracker); } return(res); }
public static void median(string[] a, int[] x) { MedianTracker medianTracker = new MedianTracker(a.Length); string[] res = ProcessHeapCommands(a, x, medianTracker); for (int ii = 0; ii < a.Length; ii++) { Debug.WriteLine(res[ii]); } }
private static string ProcessHeapCommand(string heapCmd, int heapArg, MedianTracker medianTracker) { if (heapCmd.Equals("r")) { if (!medianTracker.RemoveArg(heapArg)) { return("Wrong!"); } } if (heapCmd.Equals("a")) { medianTracker.AddArg(heapArg); } return(medianTracker.getCurrentMedian()); }
public static string[] medianTest(string[] a, int[] x) { MedianTracker medianTracker = new MedianTracker(a.Length); return(ProcessHeapCommands(a, x, medianTracker)); }