diff --git a/04-UbgCycleList-Di/04-UbgCycleList-Di.csproj b/04-UbgCycleList-Di/04-UbgCycleList-Di.csproj new file mode 100644 index 0000000000000000000000000000000000000000..449be0572fa5c7c4cfbc9b2b99211b55572a0277 --- /dev/null +++ b/04-UbgCycleList-Di/04-UbgCycleList-Di.csproj @@ -0,0 +1,9 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <OutputType>Exe</OutputType> + <TargetFramework>netcoreapp3.1</TargetFramework> + <RootNamespace>_04_UbgCycleList_Di</RootNamespace> + </PropertyGroup> + +</Project> diff --git a/04-UbgCycleList-Di/CycleList.cs b/04-UbgCycleList-Di/CycleList.cs new file mode 100644 index 0000000000000000000000000000000000000000..26c7733d4cb04bc6a806284fb3feb1e5b8719670 --- /dev/null +++ b/04-UbgCycleList-Di/CycleList.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace _04_UbgCycleList_Di +{ + // Schreiben Sie eine verkettete Liste, die die Möglichkeit bietet, + // das letzte Element wieder mit dem ersten zu verbinden (Zyklus schließen) + // Eingebettete Klasse Element + // Nutzlast: string name + // Methoden: + + class CycleList + { + + public void AddEnd() // wie bisher + public void CloseCycle() // letztes mit dem ersten Element verbinden + public void SetIterator(int offset=0) // Einen internen Zeiger (Iterator) auf das (anfang+offset) Listenelement setzen + public string GetName() // Den string zurückliefern, der im Iterator-Listenelement gespeichert ist + public void MoveNext() // Den Iterator um ein Element weitersetzen + } +} diff --git a/04-UbgCycleList-Di/Program.cs b/04-UbgCycleList-Di/Program.cs new file mode 100644 index 0000000000000000000000000000000000000000..e15ebbec1ef1bad5c635e645640ca7975c36beba --- /dev/null +++ b/04-UbgCycleList-Di/Program.cs @@ -0,0 +1,28 @@ +using System; + +namespace _04_UbgCycleList_Di +{ + class Program + { + static void Main(string[] args) + { + CycleList cl = new CycleList(); + cl.AddEnd("Anton"); + cl.AddEnd("Berta"); + cl.CloseCycle(); + cl.Print(); + Console.WriteLine("-------------"); + cl.AddEnd("Claudia"); + cl.AddEnd("Dieter"); + cl.CloseCycle(); + cl.Print(); + Console.WriteLine("-------------"); + cl.SetIterator(2); + for (int i = 0; i < 10; i++) + { + Console.WriteLine(cl.GetName()); + cl.MoveNext(); + } + } + } +} diff --git a/Prog2WienkopSS2021.sln b/Prog2WienkopSS2021.sln index 70c4c38c37a4851adaa0be876b5ed0e008728af0..372d4c989735b7714f79562623b721b534c75998 100644 --- a/Prog2WienkopSS2021.sln +++ b/Prog2WienkopSS2021.sln @@ -23,9 +23,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "03-UbgKlasseTime-Mo", "03-U EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "03-UbgListe-Di", "03-UbgListe-Di\03-UbgListe-Di.csproj", "{0E5C379D-0D10-4CAC-A12C-4757DE1E5C4E}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "04-UbgListe-Mo", "04-UbgListe-Mo\04-UbgListe-Mo.csproj", "{A2BD08A7-3354-4A7E-A80E-8344C2D22F50}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "04-UbgListe-Mo", "04-UbgListe-Mo\04-UbgListe-Mo.csproj", "{A2BD08A7-3354-4A7E-A80E-8344C2D22F50}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "04-1 VerketteteStrukturen2", "04-1 VerketteteStrukturen2\04-1 VerketteteStrukturen2.csproj", "{87021F69-DA51-4CA6-8394-C8819675D893}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "04-1 VerketteteStrukturen2", "04-1 VerketteteStrukturen2\04-1 VerketteteStrukturen2.csproj", "{87021F69-DA51-4CA6-8394-C8819675D893}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "04-UbgCycleList-Di", "04-UbgCycleList-Di\04-UbgCycleList-Di.csproj", "{E1A44696-1661-47C6-B083-65BD53DA917A}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -81,6 +83,10 @@ Global {87021F69-DA51-4CA6-8394-C8819675D893}.Debug|Any CPU.Build.0 = Debug|Any CPU {87021F69-DA51-4CA6-8394-C8819675D893}.Release|Any CPU.ActiveCfg = Release|Any CPU {87021F69-DA51-4CA6-8394-C8819675D893}.Release|Any CPU.Build.0 = Release|Any CPU + {E1A44696-1661-47C6-B083-65BD53DA917A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E1A44696-1661-47C6-B083-65BD53DA917A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E1A44696-1661-47C6-B083-65BD53DA917A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E1A44696-1661-47C6-B083-65BD53DA917A}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE