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); }
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; } } }
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; // запись в выходной список } }