Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public T[] Sort (bool IsReverse = false) {
- var resultArray = ReverseSort ();
- var returnArray = new T[Count];
- if (IsReverse) {
- Array.Copy (resultArray, 0, returnArray, 0, Count);
- } else {
- CopyTo (returnArray);
- }
- _array = resultArray;
- return returnArray;
- }
- protected T[] ReverseSort () {
- var queue = new Queue<T> ();
- int goBack = this._lastPos;
- while (this._lastPos >= 0) {
- queue.Enqueue (Pop ());
- }
- this._lastPos = goBack;
- var newArray = new T[goBack + 1];
- int i = -1;
- while (queue.Count > 0) {
- newArray[++i] = queue.Dequeue ();
- }
- return newArray;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement