Advertisement
Guest User

Untitled

a guest
Oct 13th, 2019
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.85 KB | None | 0 0
  1. public T[] Sort (bool IsReverse = false) {
  2. var resultArray = ReverseSort ();
  3. var returnArray = new T[Count];
  4. if (IsReverse) {
  5. Array.Copy (resultArray, 0, returnArray, 0, Count);
  6. } else {
  7. CopyTo (returnArray);
  8. }
  9. _array = resultArray;
  10.  
  11. return returnArray;
  12. }
  13.  
  14.  
  15.  
  16. protected T[] ReverseSort () {
  17. var queue = new Queue<T> ();
  18. int goBack = this._lastPos;
  19. while (this._lastPos >= 0) {
  20. queue.Enqueue (Pop ());
  21. }
  22. this._lastPos = goBack;
  23.  
  24. var newArray = new T[goBack + 1];
  25. int i = -1;
  26. while (queue.Count > 0) {
  27. newArray[++i] = queue.Dequeue ();
  28. }
  29.  
  30. return newArray;
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement