fork download
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Collections;
  4.  
  5. class ProgrammingLanguagesStack
  6. {
  7. static void Main(string[] args)
  8. {
  9. // Create a stack representing the order of programming languages learned
  10. Stack<string> languageStack = new Stack<string>();
  11.  
  12. Console.WriteLine("Programming Languages Learning History (LIFO Stack):");
  13. Console.WriteLine("===================================================");
  14.  
  15. // Push languages onto the stack in the order they were learned
  16. languageStack.Push("BASIC");
  17. languageStack.Push("Pascal");
  18. languageStack.Push("C");
  19. languageStack.Push("C++");
  20. languageStack.Push("Java");
  21. languageStack.Push("Python");
  22. languageStack.Push("JavaScript");
  23.  
  24. Console.WriteLine("\nLanguages learned (most recent first):");
  25. foreach (string language in languageStack)
  26. {
  27. Console.WriteLine(language);
  28. }
  29.  
  30. Console.WriteLine("\nTotal languages learned: " + languageStack.Count);
  31.  
  32. // Check if stack contains specific languages
  33. Console.WriteLine("\nStack contains Java: " + languageStack.Contains("Java"));
  34. Console.WriteLine("Stack contains Ruby: " + languageStack.Contains("Ruby"));
  35.  
  36. Console.WriteLine("\nRemoving languages from stack (LIFO order):");
  37.  
  38. // Pop languages from the stack
  39. while (languageStack.Count > 0)
  40. {
  41. string language = languageStack.Pop();
  42. Console.WriteLine("Removed: " + language + " (Remaining in stack: " + languageStack.Count + ")");
  43. }
  44.  
  45. Console.WriteLine("\nStack is now empty. Count: " + languageStack.Count);
  46.  
  47. // Demonstrate stack again with a different scenario
  48. Console.WriteLine("\n--- New Scenario: Current Project Languages Stack ---");
  49.  
  50. Stack<string> projectStack = new Stack<string>();
  51. projectStack.Push("SQL");
  52. projectStack.Push("C#");
  53. projectStack.Push("JavaScript");
  54. projectStack.Push("HTML/CSS");
  55.  
  56. Console.WriteLine("\nCurrent project technology stack (top to bottom):");
  57. foreach (string tech in projectStack)
  58. {
  59. Console.WriteLine(tech);
  60. }
  61. }
  62. }
Success #stdin #stdout 0.05s 29196KB
stdin
Standard input is empty
stdout
Programming Languages Learning History (LIFO Stack):
===================================================

Languages learned (most recent first):
JavaScript
Python
Java
C++
C
Pascal
BASIC

Total languages learned: 7

Stack contains Java: True
Stack contains Ruby: False

Removing languages from stack (LIFO order):
Removed: JavaScript (Remaining in stack: 6)
Removed: Python (Remaining in stack: 5)
Removed: Java (Remaining in stack: 4)
Removed: C++ (Remaining in stack: 3)
Removed: C (Remaining in stack: 2)
Removed: Pascal (Remaining in stack: 1)
Removed: BASIC (Remaining in stack: 0)

Stack is now empty. Count: 0

--- New Scenario: Current Project Languages Stack ---

Current project technology stack (top to bottom):
HTML/CSS
JavaScript
C#
SQL