public void Set(int index, int item) // Queue 0 1 2 3 4 5 6 { // Set(2,9) -> if (size != storage.Length) // Queue 1 2 3 4 9 5 6 { size++; head_pos_cur--; Queue1 temporary_q = new Queue1(Length()); for (int i = 0; i < index; i++) { temporary_q.AddLast(this.GetFirst()); } temporary_q.AddLast(item); for (int i = 1; i < Length() - index; i++) { temporary_q.AddLast(this.GetFirst()); } for (int i = 0; i < Length(); i++) { this.AddLast(temporary_q.GetFirst()); } temporary_q.Clear(); } }
public int Get(int index) { Queue1 temporary_q = new Queue1(Length() - 1); for (int i = 0; i < index; i++) { temporary_q.AddLast(this.GetFirst()); } int toReturn = this.GetFirst(); for (int i = 1; i < Length() - index; i++) { temporary_q.AddLast(this.GetFirst()); } for (int i = 0; i < Length(); i++) { this.AddLast(temporary_q.GetFirst()); } temporary_q.Clear(); size--; head_pos_cur++; return(toReturn); }