Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- public class TrainComposition
- {
- List<int> train = new List<int>();
- public void AttachWagonFromLeft(int wagonId)
- {
- if(train != null)
- {
- List<int> newWagon = new List<int>(train.Count + 1);
- newWagon.Add(wagonId);
- foreach (int wagon in train)
- newWagon.Add(wagon);
- train = newWagon;
- }
- else
- train.Add(wagonId);
- }
- public void AttachWagonFromRight(int wagonId)
- {
- train.Add(wagonId);
- }
- public int DetachWagonFromLeft()
- {
- int wagon = train[0];
- train.RemoveAt(0);
- return wagon;
- }
- public int DetachWagonFromRight()
- {
- int wagon = train[train.Count-1];
- train.RemoveAt(train.Count - 1);
- return wagon;
- }
- public static void Main(string[] args)
- {
- TrainComposition tree = new TrainComposition();
- tree.AttachWagonFromLeft(7);
- tree.AttachWagonFromLeft(13);
- Console.WriteLine(tree.DetachWagonFromRight()); // 7
- Console.WriteLine(tree.DetachWagonFromLeft()); // 13
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement