Advertisement
Spocoman

04. List Operations

Feb 1st, 2022
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.20 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace ListOperations
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             List<int> lists = Console.ReadLine().Split().Select(int.Parse).ToList();
  12.  
  13.             string[] command = Console.ReadLine().ToLower().Split().ToArray();
  14.  
  15.             while (command[0] != "end")
  16.             {
  17.                 if (command[0] == "add")
  18.                 {
  19.                     lists.Add(int.Parse(command[1]));
  20.                 }
  21.  
  22.                 else if (command[0] == "insert")
  23.                 {
  24.                     if (int.Parse(command[2]) < 0 || int.Parse(command[2]) > lists.Count - 1)
  25.                     {
  26.                         Console.WriteLine("Invalid index");
  27.                     }
  28.                     else
  29.                     {
  30.                         lists.Insert(int.Parse(command[2]), int.Parse(command[1]));
  31.                     }
  32.                 }
  33.  
  34.                 else if (command[0] == "remove")
  35.                 {
  36.                     if (int.Parse(command[1]) < 0 || int.Parse(command[1]) > lists.Count - 1)
  37.                     {
  38.                         Console.WriteLine("Invalid index");
  39.                     }
  40.                     else
  41.                     {
  42.                         lists.RemoveAt(int.Parse(command[1]));
  43.                     }
  44.                 }
  45.  
  46.                 else if (command[0] == "shift" && command[1] == "left")
  47.                 {
  48.                     for (int i = 0; i < int.Parse(command[2]); i++)
  49.                     {
  50.                         lists.Add(lists[0]);
  51.                         lists.RemoveAt(0);
  52.                     }
  53.                 }
  54.  
  55.                 else if (command[0] == "shift" && command[1] == "right")
  56.                 {
  57.                     for (int i = 0; i < int.Parse(command[2]); i++)
  58.                     {
  59.                         lists.Insert(0, lists[lists.Count - 1]);
  60.                         lists.RemoveAt(lists.Count - 1);
  61.                     }
  62.                 }
  63.                 command = Console.ReadLine().ToLower().Split().ToArray();
  64.             }
  65.             Console.WriteLine(string.Join(" ", lists));
  66.         }
  67.     }
  68. }
  69.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement