From 425ce03a0d4d3ce7f3573593a5fd84368d3ec493 Mon Sep 17 00:00:00 2001 From: Vojtech Supler <“vojtasupler@gmail.com> Date: Mon, 14 Apr 2025 08:38:41 +0200 Subject: [PATCH 1/2] ringdingding --- sorting.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/sorting.py b/sorting.py index 2f316a6..0168f42 100644 --- a/sorting.py +++ b/sorting.py @@ -1,3 +1,4 @@ +import csv import os @@ -10,9 +11,21 @@ def read_data(file_name): """ cwd_path = os.getcwd() file_path = os.path.join(cwd_path, file_name) + data = {} + with open(file_path,mode="r") as csv_file: + reader = csv.DictReader(csv_file) + for row in reader: + for header, value in row.items(): + if header not in data: + data[header] = [int(value)] + else: + data[header].append(int(value)) + return data def main(): + data = read_data("numbers.csv") + print(data) pass From 653fb61fe67f43a1b40329e153d24ca37a75c4db Mon Sep 17 00:00:00 2001 From: Vojtech Supler <“vojtasupler@gmail.com> Date: Mon, 14 Apr 2025 10:24:53 +0200 Subject: [PATCH 2/2] gg --- sorting.py | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/sorting.py b/sorting.py index 0168f42..154c121 100644 --- a/sorting.py +++ b/sorting.py @@ -1,6 +1,8 @@ import csv import os +import numpy as np + def read_data(file_name): """ @@ -22,10 +24,55 @@ def read_data(file_name): data[header].append(int(value)) return data +def selection_sort (arr, direction = "asce"): + """ + Selection sort + :param arr: + :param direction: + :return: + """ + n = len(arr) + for i in range(n): + min_index = i + if direction == "asce": + for j in range(i + 1, n): + if arr[j] < arr[min_index]: + min_index = j + else: + for j in range(i + 1, n): + if arr[j] > arr[min_index]: + min_index = j + arr[i], arr[min_index] = arr[min_index], arr[i] + return arr + +def bubble_sort (arr): + min_index = 0 + max_index = len(arr) + while min_index < max_index: + for index in range(min_index, max_index-1): + if arr[index] > arr[index+1]: + pom = arr[index] + arr[index] = arr[index+1] + arr[index+1] = pom + max_index -= 1 + return arr + +def insertion_sort (arr): + n = len(arr) + for i in range(1, n): + key = arr[i] + j = i - 1 + while j >= 0 and arr[j] > key: + arr[j +1] = arr[j] + j=j-1 + arr[j+1]=key + return arr def main(): data = read_data("numbers.csv") - print(data) + # pole = selection_sort(data["series_1"]) + pole = insertion_sort(data["series_1"]) + print(pole) pass