public Run PopRun(){ Run result = new Run(); using(reader = new StreamReader(Path)) result.Enqueue(Int32.Parse(reader.ReadLine())); //using(writer = new StreamWriter(Path)) // reader.read Count--; return result; }
public Run PopRun() { Run result = new Run(); using (reader = new StreamReader(Path)) result.Enqueue(Int32.Parse(reader.ReadLine())); //using(writer = new StreamWriter(Path)) // reader.read Count--; return(result); }
private static Queue <Run> GetRuns(string Path_To_File) { Queue <Run> ResultedRuns = new Queue <Run>(); Run CurrentRun = new Run(); using (StreamReader rdr = new StreamReader(@"Unsorted files\" + Path_To_File)){ SortedSet <int> SortedHeap = new SortedSet <int>(); SortedHeap.Reverse(); List <int> ReserveList = new List <int>(); for (int i = 0; i < 4; i++) { SortedHeap.Add(Int32.Parse(rdr.ReadLine())); } do { while (SortedHeap.Count != 0) { int pretendent = SortedHeap.First(); SortedHeap.Remove(SortedHeap.First()); CurrentRun.Enqueue(pretendent); if (!rdr.EndOfStream) { int Next = Int32.Parse(rdr.ReadLine()); if (Next >= pretendent) { SortedHeap.Add(Next); } else { ReserveList.Add(Next); } } } SortedHeap = new SortedSet <int>(ReserveList); ReserveList = new List <int>(); ResultedRuns.Enqueue(CurrentRun); CurrentRun = new Run(); } while (SortedHeap.Count != 0); } return(ResultedRuns); }
private static Queue<Run> GetRuns(string Path_To_File) { Queue<Run> ResultedRuns = new Queue<Run>(); Run CurrentRun = new Run(); using (StreamReader rdr = new StreamReader(@"Unsorted files\" + Path_To_File)){ SortedSet<int> SortedHeap = new SortedSet<int>(); SortedHeap.Reverse(); List<int> ReserveList = new List<int>(); for (int i = 0; i < 4; i++) SortedHeap.Add(Int32.Parse(rdr.ReadLine())); do{ while (SortedHeap.Count != 0){ int pretendent = SortedHeap.First(); SortedHeap.Remove(SortedHeap.First()); CurrentRun.Enqueue(pretendent); if (!rdr.EndOfStream){ int Next = Int32.Parse(rdr.ReadLine()); if (Next >= pretendent) SortedHeap.Add(Next); else ReserveList.Add(Next); } } SortedHeap = new SortedSet<int>(ReserveList); ReserveList = new List<int>(); ResultedRuns.Enqueue(CurrentRun); CurrentRun = new Run(); } while (SortedHeap.Count != 0); } return ResultedRuns; }