Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
26
Task/Flatten-a-list/C-sharp/flatten-a-list-1.cs
Normal file
26
Task/Flatten-a-list/C-sharp/flatten-a-list-1.cs
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Linq;
|
||||
|
||||
namespace RosettaCodeTasks
|
||||
{
|
||||
static class FlattenList
|
||||
{
|
||||
public static ArrayList Flatten(this ArrayList List)
|
||||
{
|
||||
ArrayList NewList = new ArrayList ( );
|
||||
|
||||
NewList.AddRange ( List );
|
||||
|
||||
while ( NewList.OfType<ArrayList> ( ).Count ( ) > 0 )
|
||||
{
|
||||
int index = NewList.IndexOf ( NewList.OfType<ArrayList> ( ).ElementAt ( 0 ) );
|
||||
ArrayList Temp = (ArrayList)NewList[index];
|
||||
NewList.RemoveAt ( index );
|
||||
NewList.InsertRange ( index, Temp );
|
||||
}
|
||||
|
||||
return NewList;
|
||||
}
|
||||
}
|
||||
}
|
||||
40
Task/Flatten-a-list/C-sharp/flatten-a-list-2.cs
Normal file
40
Task/Flatten-a-list/C-sharp/flatten-a-list-2.cs
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
|
||||
namespace RosettaCodeTasks
|
||||
{
|
||||
class Program
|
||||
{
|
||||
static void Main ( string[ ] args )
|
||||
{
|
||||
|
||||
ArrayList Parent = new ArrayList ( );
|
||||
Parent.Add ( new ArrayList ( ) );
|
||||
((ArrayList)Parent[0]).Add ( 1 );
|
||||
Parent.Add ( 2 );
|
||||
Parent.Add ( new ArrayList ( ) );
|
||||
( (ArrayList)Parent[2] ).Add ( new ArrayList ( ) );
|
||||
( (ArrayList)( (ArrayList)Parent[2] )[0] ).Add ( 3 );
|
||||
( (ArrayList)( (ArrayList)Parent[2] )[0] ).Add ( 4 );
|
||||
( (ArrayList)Parent[2] ).Add ( 5 );
|
||||
Parent.Add ( new ArrayList ( ) );
|
||||
( (ArrayList)Parent[3] ).Add ( new ArrayList ( ) );
|
||||
( (ArrayList)( (ArrayList)Parent[3] )[0] ).Add ( new ArrayList ( ) );
|
||||
Parent.Add ( new ArrayList ( ) );
|
||||
( (ArrayList)Parent[4] ).Add ( new ArrayList ( ) );
|
||||
( (ArrayList)( (ArrayList)Parent[4] )[0] ).Add ( new ArrayList ( ) );
|
||||
|
||||
( (ArrayList)( (ArrayList)( (ArrayList)( (ArrayList)Parent[4] )[0] )[0] ) ).Add ( 6 );
|
||||
Parent.Add ( 7 );
|
||||
Parent.Add ( 8 );
|
||||
Parent.Add ( new ArrayList ( ) );
|
||||
|
||||
|
||||
foreach ( Object o in Parent.Flatten ( ) )
|
||||
{
|
||||
Console.WriteLine ( o.ToString ( ) );
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
27
Task/Flatten-a-list/C-sharp/flatten-a-list-3.cs
Normal file
27
Task/Flatten-a-list/C-sharp/flatten-a-list-3.cs
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
public static class Ex {
|
||||
public static List<object> Flatten(this List<object> list) {
|
||||
|
||||
var result = new List<object>();
|
||||
foreach (var item in list) {
|
||||
if (item is List<object>) {
|
||||
result.AddRange(Flatten(item as List<object>));
|
||||
} else {
|
||||
result.Add(item);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
public static string Join<T>(this List<T> list, string glue) {
|
||||
return string.Join(glue, list.Select(i => i.ToString()).ToArray());
|
||||
}
|
||||
}
|
||||
|
||||
class Program {
|
||||
|
||||
static void Main(string[] args) {
|
||||
var list = new List<object>{new List<object>{1}, 2, new List<object>{new List<object>{3,4}, 5}, new List<object>{new List<object>{new List<object>{}}}, new List<object>{new List<object>{new List<object>{6}}}, 7, 8, new List<object>{}};
|
||||
|
||||
Console.WriteLine("[" + list.Flatten().Join(", ") + "]");
|
||||
Console.ReadLine();
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue