public static void sorting(int[][] work_arr, int n, bool ascending, sortType ST) { int max_dimension_1 = 0; int max_dimension_2 = 0; int first_value = 0, second_value = 0; for (int k = 0; k < n; k++) for (int i = n - 1; i > 0; i--) { max_dimension_1 = work_arr[i].Length; max_dimension_2 = work_arr[i - 1].Length; switch (ST) { case sortType.byMaxValueOfLine: { if (ascending) { if (max_value_in_array(work_arr[i]) > max_value_in_array(work_arr[i - 1])) swap_lines(work_arr, max_dimension_1, max_dimension_2, i); } else if (max_value_in_array(work_arr[i]) < max_value_in_array(work_arr[i - 1])) swap_lines(work_arr, max_dimension_1, max_dimension_2, i); break; } case sortType.byMinValueOfLine: { if (ascending) { if (min_value_in_array(work_arr[i]) > min_value_in_array(work_arr[i - 1])) swap_lines(work_arr, max_dimension_1, max_dimension_2, i); } else if (min_value_in_array(work_arr[i]) < min_value_in_array(work_arr[i - 1])) swap_lines(work_arr, max_dimension_1, max_dimension_2, i); break; } case sortType.bySumOfValuesOfLine: { for (int j = 0; j < max_dimension_1; j++) first_value += work_arr[i][j]; for (int j = 0; j < max_dimension_2; j++) second_value += work_arr[i - 1][j]; if (ascending) { if (second_value < first_value) swap_lines(work_arr, max_dimension_1, max_dimension_2, i); } else if (second_value > first_value) swap_lines(work_arr, max_dimension_1, max_dimension_2, i); first_value = 0; second_value = 0; break; } } } }
//Метод срабатывает при нажатии на кнопку старт: public void restart() { //каждый второй раз пытаемся запустить рекламу: if (restartCount % 2 == 0) { unityADS.schoowADS(); } //выключаем кубок win.SetActive(false); //сортируем случайным образом кнопки Point randomPoint = null; Buttons randomButton = null; List <Buttons> sortedButtons = new List <Buttons>(); List <Point> sortedPoints = new List <Point>(); bool sort = true; //формируем список кнопок которые необходимо отсортировать for (int i = 0; i < buttonsList.Count; i++) { sortedButtons.Add(buttonsList[i]); } for (int j = 0; j < points.Count; j++) { sortedPoints.Add(points[j]); } while (sort) { //теперь делаем от цикла к циклу следующее: if (sortedButtons.Count > 0) { //итак мы приступили к сортировке(получаем первый случайный элемент): randomButton = sortedButtons[getRandomInt(sortedButtons.Count)]; randomPoint = sortedPoints[getRandomInt(sortedPoints.Count)]; //засовываем случайные поинт с кнопкой sortedButtons.Remove(randomButton); sortedPoints.Remove(randomPoint); randomPoint.empty = false; //ставим кнопку на ннужное место: randomButton.transform.position = randomPoint.pointPosition; randomButton.myPointPosition = randomPoint.pointPosition; randomButton.rend.material.color = randomButton.myColor; } else { //делаем оставшийся поинт свободным sortedPoints[0].empty = true; //очищаем текущее выделение: selectedButton = null; nextPosition = Vector3.zero; //выходим из зацикливания: sort = false; } } restartCount += 1; }
public sortMethod(sortType t, string parm, PlanCallback f) { _f = f; if (sortType.None == t) { } else if (sortType.Interval == t) { string [] p = parm.Split(','); int p1 = 0, p2 = 0; try { p1 = int.Parse(p[0]); p2 = int.Parse(p[1]); } catch (Exception e) { p1 = 1000; p2 = 1000 * 60 * 60; } _timer = new Timer(timeCb, null, p1, p2); } else if (sortType.Timing == t) { string[] timers = parm.Split(','); for (int i = 0; i < timers.Length; ++i) { try { DateTime dt = Convert.ToDateTime(timers[i]); } catch (Exception e) { ConsoleLog.showErrorInfo(i, e.Message + ":datePase Error;" + timers[i]); continue; } TimeListener.Append(PlanConfig.EveryDayPlan(_f, "EveryDayTask", timers[i])); } } else if (sortType.week == t) { } }
/// <summary> /// Create object to match a particular date /// </summary> /// <param name="day"></param> public DateRangeSort(DateTime day) { OnDay = day; action = sortType.day; }
/// <summary> /// Create object to match against a date range. The range limits are /// inclusive: a date that matches the start or end date will return /// true /// </summary> /// <param name="start">From which date we're matching it</param> /// <param name="end">Up to which date we're matching it</param> public DateRangeSort(DateTime start, DateTime end) { RangeStart = start; RangeEnd = end; action = sortType.range; }