public static Records Reverse ( Records RB ) { Record res = new Records(); // For the result. Records temp = RB; while ( !temp.IsEmpty() ) { res.AddHead(temp.GetHeadDatum(),temp.GetHeadKey()); temp = temp.GetTail(); }; return res; } //*********************************************************************** public static Records Concatenate ( Records Start, Records End) { Records res = new Records(); Records temp = new Records(); Records StartPoint = Start; Records EndPoint = End; // Build the first part by stacking the Start while (!StartPoint.IsEmpty()) { temp.AddHead(StartPoint.GetHeadDatum(),StartPoint.GetHeadKey()); StartPoint = StartPoint.GetTail(); }; // Stack the End onto the list just built. while (!EndPoint.IsEmpty()) { temp.AddHead(EndPoint.GetHeadDatum(),EndPoint.GetHeadKey()); EndPoint = EndPoint.GetTail(); }; res = Reverse(temp); return res; }