Exemple #1
0
        public static List <ResultOfMeasurement> SortInsertion(List <ResultOfMeasurement> list)
        {
            //сортировка с созданием доп. Листа (КАК В ЛЕКЦИИ НИКОЛАЯ АРКАДИЕВИЧА ТЮКАЧЕВА)
            List <ResultOfMeasurement> resultList = new List <ResultOfMeasurement>();

            for (int i = 0; i < list.Count; i++)
            {
                ResultOfMeasurement item = new ResultOfMeasurement();
                resultList.Add(item);
            }
            int j = 0;

            for (int i = 0; i < list.Count; i++)
            {
                // перебор входного списка
                // поиск места для list[i] в выходном списке
                j = 0;
                while ((j < i) & (resultList[j].Result >= list[i].Result))
                {
                    j++;
                }
                // освобождение места для нового элемента
                for (int k = i; k >= j + 1; k--)
                {
                    resultList[k] = resultList[k - 1];
                }
                resultList[j] = list[i];  // запись в выходной список
            }
            return(resultList);
        }
Exemple #2
0
        public static void BubbleSort(List <ResultOfMeasurement> list)
        {
            ResultOfMeasurement tmp = new ResultOfMeasurement();

            for (int i = 1; i < list.Count; i++)
            {
                for (int j = i; j > 0 && list[j - 1].Result <= list[j].Result; j--)
                {
                    tmp         = list[j - 1];
                    list[j - 1] = list[j];
                    list[j]     = tmp;
                }
            }
        }
Exemple #3
0
        public static void InsertSort111(List <ResultOfMeasurement> list)
        {
            //сортировка без создания доп. Листа
            ResultOfMeasurement tmp = new ResultOfMeasurement();
            int j = 0;

            for (int i = 0; i < list.Count; i++)
            {
                // перебор входного списка
                // поиск места для list[i] в выходном списке
                tmp = list[i];
                j   = 0;
                while ((j < i) & (tmp.Result <= list[j].Result))
                {
                    j++;
                }
                // освобождение места для нового элемента
                for (int k = i; k >= j + 1; k--)
                {
                    list[k] = list[k - 1];
                }
                list[j] = tmp;  // запись в выходной список
            }
        }