Simple implementation of the "Data structure" Queue
Public classXqueue<t> { /// <summary> ///first element/// </summary> Private StaticXqueueitem<t>_top; /// <summary> ///last element/// </summary> Private StaticXqueueitem<t>_last; /// <summary> ///length/// </summary> Private int_length; /// <summary> ///capacity/// </summary> /// <returns></returns> Public intCount () {return_length; } /// <summary> ///Queue/// </summary> /// <param name= "T" ></param> Public voidEnqueue (T t) {varitem =Newxqueueitem<t> {Item =T}; if(_top = =NULL) {_last= _top =item; } Else{_last. Next=item; Item. Prev=_last; } _length++; } /// <summary> ///out Team/// </summary> /// <returns></returns> PublicT DeQueue () {if(_length = =0) { Throw NewException ("queue is empty"); } t T=_last. Item; _last=_last. Prev; returnT; } Internal classXqueueitem<t> { /// <summary> ///Current Element/// </summary> PublicT Item; /// <summary> ///Next Element/// </summary> PublicXqueueitem<t>Next; /// <summary> ///an element of the previous/// </summary> PublicXqueueitem<t>Prev; } }
Simple implementation of the "Data structure" Queue