示例#1
0
        private static void LinkedListExe()
        {
            string[] input = Console.ReadLine().Split(' ');

            var nodeN      = int.Parse(input[0]);
            var calculateM = int.Parse(input[1]);

            Console.WriteLine();

            string[,] calculateInputs = new string[calculateM, 3];

            for (int i = 0; i < calculateM; i++)
            {
                string[] value = Console.ReadLine().Split(' ');

                for (int j = 0; j < 3; j++)
                {
                    calculateInputs[i, j] = value[j];
                }
            }

            var list = new DoublyNodeLinkedList <int>();

            for (int i = 0; i < nodeN; i++)
            {
                list.Add(new DoublyNodeLinkedListNode <int>(i + 1));
            }

            for (int i = 0; i < calculateM; i++)
            {
                //여기서 다시 하기
            }
        }
示例#2
0
        /// <summary>
        /// Заполнить двунаправленный связанный список месяцев
        /// </summary>
        /// <param name="year">Год (от значения года зависит високосный год или нет)</param>
        private void FillMonthsList(int year)
        {
            monthsList = new DoublyNodeLinkedList <DateValue>();

            monthsList.Add(new DoublyNode <DateValue>(new DateValue(1, "январь", new DateTime(year, 1, 1, 0, 0, 0), new DateTime(year, 1, 31, 23, 59, 59))));
            if (DateTime.IsLeapYear(year))
            {
                monthsList.Add(new DoublyNode <DateValue>(new DateValue(2, "февраль", new DateTime(year, 2, 1, 0, 0, 0), new DateTime(year, 2, 29, 23, 59, 59))));
            }
            else
            {
                monthsList.Add(new DoublyNode <DateValue>(new DateValue(2, "февраль", new DateTime(year, 2, 1, 0, 0, 0), new DateTime(year, 2, 28, 23, 59, 59))));
            }

            monthsList.Add(new DoublyNode <DateValue>(new DateValue(3, "март", new DateTime(year, 3, 1, 0, 0, 0), new DateTime(year, 3, 31, 23, 59, 59))));
            monthsList.Add(new DoublyNode <DateValue>(new DateValue(4, "апрель", new DateTime(year, 4, 1, 0, 0, 0), new DateTime(year, 4, 30, 23, 59, 59))));
            monthsList.Add(new DoublyNode <DateValue>(new DateValue(5, "май", new DateTime(year, 5, 1, 0, 0, 0), new DateTime(year, 5, 31, 23, 59, 59))));
            monthsList.Add(new DoublyNode <DateValue>(new DateValue(6, "июнь", new DateTime(year, 6, 1, 0, 0, 0), new DateTime(year, 6, 30, 23, 59, 59))));
            monthsList.Add(new DoublyNode <DateValue>(new DateValue(7, "июль", new DateTime(year, 7, 1, 0, 0, 0), new DateTime(year, 7, 31, 23, 59, 59))));
            monthsList.Add(new DoublyNode <DateValue>(new DateValue(8, "август", new DateTime(year, 8, 1, 0, 0, 0), new DateTime(year, 8, 31, 23, 59, 59))));
            monthsList.Add(new DoublyNode <DateValue>(new DateValue(9, "сентябрь", new DateTime(year, 9, 1, 0, 0, 0), new DateTime(year, 9, 30, 23, 59, 59))));
            monthsList.Add(new DoublyNode <DateValue>(new DateValue(10, "октябрь", new DateTime(year, 10, 1, 0, 0, 0), new DateTime(year, 10, 31, 23, 59, 59))));
            monthsList.Add(new DoublyNode <DateValue>(new DateValue(11, "ноябрь", new DateTime(year, 11, 1, 0, 0, 0), new DateTime(year, 11, 30, 23, 59, 59))));
            monthsList.Add(new DoublyNode <DateValue>(new DateValue(12, "декабрь", new DateTime(year, 12, 1, 0, 0, 0), new DateTime(year, 12, 31, 23, 59, 59))));
        }
示例#3
0
 /// <summary>
 /// Заполнить двунаправленный связанный список лет
 /// </summary>
 /// <param name="year">Год, от которого вести отчёт</param>
 private void FillYearList(int year)
 {
     yearsList = new DoublyNodeLinkedList <int>();
     for (int i = year - 10; i < year + 10; i++)
     {
         yearsList.Add(new DoublyNode <int>(i));
     }
 }
示例#4
0
        /// <summary>
        /// Заполнить двунаправленный связанный список дней в году
        /// </summary>
        /// <param name="year">Год (от значения года зависит високосный год или нет)</param>
        private void FillDaysList(int year)
        {
            daysList = new DoublyNodeLinkedList <DateValue>();
            int      daysInYear = DateTime.IsLeapYear(year) ? 366 : 365;
            DateTime dateStart  = new DateTime(year, 1, 1, 0, 0, 0);

            for (int i = 0; i < daysInYear; i++)
            {
                DateValue dateValue = new DateValue(i + 1, dateStart.AddDays(i).ToString("ddd, d MMM"), dateStart.AddDays(i), dateStart.AddDays(i).AddHours(23).AddMinutes(59).AddSeconds(59));
                daysList.Add(new DoublyNode <DateValue>(dateValue));
            }
        }
示例#5
0
        /// <summary>
        /// Заполнить двунаправленный связанный список недель в году
        /// </summary>
        /// <param name="year">От значения года зависит дата первого дня первой недели</param>
        private void FillWeeksList(int year)
        {
            weeksList = new DoublyNodeLinkedList <DateValue>();
            DateTime weekStart  = new DateTime(year, 1, 1, 0, 0, 0);
            DateTime weekEnd    = new DateTime(year, 1, 1, 23, 59, 59);
            int      weekNumber = 0;

            while (true)
            {
                if (weekEnd.DayOfWeek == DayOfWeek.Sunday)
                {
                    weekNumber++;
                    DateValue dateValue = new DateValue(weekNumber, weekStart.ToString("d MMM") + " - " + weekEnd.ToString("d MMM"), weekStart, weekEnd);
                    weeksList.Add(new DoublyNode <DateValue>(dateValue));
                    weekStart = weekEnd.AddSeconds(1);
                    weekEnd   = weekEnd.AddDays(7);
                }
                else
                {
                    weekEnd = weekEnd.AddDays(1);
                }

                if (weekEnd.Year > year)
                {
                    if (weekStart.Year > year)
                    {
                        break;
                    }

                    do
                    {
                        weekEnd = weekEnd.AddDays(-1);
                    }while (weekEnd.Date != new DateTime(year, 12, 31));
                    weekNumber++;
                    DateValue dateValue = new DateValue(weekNumber, weekStart.ToString("d MMM") + " - " + weekEnd.ToString("d MMM"), weekStart, weekEnd);
                    weeksList.Add(new DoublyNode <DateValue>(dateValue));
                    break;
                }
            }
        }