Loading...
butoff avatar butoff 33 Точки

Insertion Sort Using List - ???

Условие:

Read a list of integers on the first line of the console. After that, sort the array, using the Insertion Sort algorithm, but instead of doing it in-place, add the result one by one to a list.

Оказа се много трудно сортиране и добавяне в друг List<> едновременно.

Първото сравнение и запис в result  се получават, но след това нищоооо...     Не мога да спазя така зададеното условие.

 

List<int> input = Console.ReadLine()
                                .Split(' ')
                                .Select(int.Parse)
                                .ToList();
            List<int> result = new List<int>(input.Count);
            result.Add(input[0]);
            if (input[1] < input[0])
            {
                result.Add(input[0]);
                result.Insert(0, input[1]);
            }
            else
            {
                result.Add(input[1]);
            }

Тагове:
0
Programming Fundamentals
simeon3000 avatar simeon3000 264 Точки
Best Answer

Изгледай това видео, Най-накрая е обяснен този метод, но моят съвет е да изгледаш цялото видео.

1
butoff avatar butoff 33 Точки

List<int> input = Console.ReadLine().Split(' ').Select(int.Parse).ToList();
            List<int> result = new List<int>(input.Count);
            for (int i = 0; i < input.Count; i++)                   
            {
                bool inserted = false;
                for (int j = 0; j < result.Count; j++)
                {
                    if(input[i] < result[j])
                    {
                        result.Insert(j, input[i]);
                        inserted = true;
                        break;
                    }
                }
                if(!inserted)
                {
                    result.Add(input[i]);
                }
            }
            Console.WriteLine(string.Join(" ", result));

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.