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++) { //여기서 다시 하기 } }
/// <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)))); }
/// <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)); } }
/// <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)); } }
/// <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; } } }