.NET 4.x Список слов расположить так, чтобы каждое последующее слово начиналось с последней буквы предыдущего - C#
Формулировка задачи:
Имеется список N слов.Расположите его так,что бы каждое последующее слово начиналось с последней буквы предыдущей.Слова могут быть рускоязычными или англоязычными и не должны повторяться.В качестве слов можно взять имена людей,названия растений,городов.
Решение задачи: «.NET 4.x Список слов расположить так, чтобы каждое последующее слово начиналось с последней буквы предыдущего»
textual
Листинг программы
static void Main(string[] args)
{
List<string> src = new List<string>();
src.Add("Москва");
src.Add("Оренбург");
src.Add("Ирбит");
src.Add("Купино");
src.Add("Невельск");
src.Add("Грязи");
src.Add("Абакан");
Console.WriteLine("Исходный перечень:");
foreach (var item in src)
Console.WriteLine(item);
Console.WriteLine("-----\n");
List<string> result = new List<string>();
result.Add(src[0]);
src.RemoveAt(0);
string str = result[0];
while (src.Count > 0)
{
if (str == null)
{
result.Add("===Перечень прервался===");
break;
}
foreach (var item in src)
if (item.ToLower()[0] == str[str.Length - 1])
{
str = item;
break;
}
result.Add(str);
src.Remove(str);
}
Console.WriteLine("То что получилось перечень:");
foreach (var item in result)
Console.WriteLine(item);
Console.ReadKey();
}