{"id":21076275,"url":"https://github.com/innosan/secsemcoursework","last_synced_at":"2025-06-12T06:04:04.316Z","repository":{"id":231759933,"uuid":"781652322","full_name":"Innosan/SecSemCourseWork","owner":"Innosan","description":"Sorting algorythms for course work","archived":false,"fork":false,"pushed_at":"2024-09-26T01:33:34.000Z","size":39,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-14T03:45:01.027Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Innosan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-03T19:36:02.000Z","updated_at":"2024-09-26T01:33:37.000Z","dependencies_parsed_at":"2025-01-20T22:47:38.042Z","dependency_job_id":"eb1fd0a3-25be-4786-9612-61fb86d20525","html_url":"https://github.com/Innosan/SecSemCourseWork","commit_stats":null,"previous_names":["innosan/secsemcoursework"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Innosan/SecSemCourseWork","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Innosan%2FSecSemCourseWork","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Innosan%2FSecSemCourseWork/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Innosan%2FSecSemCourseWork/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Innosan%2FSecSemCourseWork/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Innosan","download_url":"https://codeload.github.com/Innosan/SecSemCourseWork/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Innosan%2FSecSemCourseWork/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259409861,"owners_count":22852953,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-19T19:27:41.384Z","updated_at":"2025-06-12T06:04:04.283Z","avatar_url":"https://github.com/Innosan.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Курсовая работа второго семестра\n\n#### Задача - реализовать алгоритмы сортировки в массиве\n##### Подзадача - Упорядочить в каждом значении чисел матрицы цифры по возрастанию, затем упорядочить данные в столбцах по убыванию.\n\n---\n\n#### Структура проекта:\n\n- Menu - класс для работы пользователя с программой\n- Sort - классы сортировок\n  - BubbleSort - сортировка пузырьком\n  - SelectionSort - сортировка выбором\n  - InsertionSort - сортировка вставками\n  - ShellSort - сортировка Шелла\n  - QuickSort - быстрая сортировка\n- Utils - вспомогательные функции\n  - Files - работа с файлами\n  - Inputs - ввод данных\n  - Tables - вывод таблиц\n\n---\n\n#### Сортировки:\n- [Сортировка пузырьком](#сортировка-пузырьком)\n- [Сортировка выбором (отбора)](#сортировка-выбором)\n- [Сортировка вставками](#сортировка-вставками)\n- [Сортировка Шелла](#сортировка-шелла)\n- [Быстрая сортировка: pivot - конечный элемент](#быстрая-сортировка)\n\n---\n\n## Сортировка пузырьком\n[Подробнее](https://www.geeksforgeeks.org/bubble-sort/) | [Видео](https://www.youtube.com/watch?v=62Ai0p1xUpE) | [Код](/Sort/BubbleSort/BubbleSort.h)\n\nМногократно проходим по списку, сравниваем каждую пару соседних элементов и меняем их местами, если они в неправильном порядке.\n\u003cbr\u003e\u003cbr\u003e\n**Этот процесс повторяется, пока список не будет отсортирован.**\n\n---\n\n## Сортировка выбором\n[Подробнее](https://www.geeksforgeeks.org/selection-sort/) | [Видео](https://youtu.be/Q-NXg6Tzyks?si=QR_chDHej30MmWIW) | [Код](/Sort/SelectionSort/SelectionSort.h)\n\nНа каждом шаге выбираем наименьший (или наибольший, в зависимости от порядка сортировки) элемент из неотсортированных элементов и помещаем его в конец отсортированной части списка. \n\u003cbr\u003e\u003cbr\u003e\n**Этот процесс повторяется, пока все элементы не будут отсортированы.**\n\n---\n\n## Сортировка вставками\n[Подробнее](https://www.geeksforgeeks.org/insertion-sort/) | [Видео](https://youtu.be/PEhwXHEPbmI?si=VyOExxp2uIWa15y0) | [Код](/Sort/InsertionSort/InsertionSort.h)\n\nНа каждом шаге берем следующий элемент из неотсортированной части списка и вставляем его на правильное место в отсортированной части списка. \n\u003cbr\u003e\u003cbr\u003e\n\n**Этот процесс повторяется, пока все элементы не будут отсортированы.**\n\n---\n\n## Сортировка Шелла\n[Подробнее](https://www.geeksforgeeks.org/shellsort/) | [Видео](https://youtu.be/IViqgakt-Eg?si=xBB_LbGcBvKaiWvj) | [Код](/Sort/ShellSort/ShellSort.h)\n\nУлучшенная версия сортировки вставками, которая сначала сортирует элементы с определенным интервалом, а затем уменьшает интервал и повторяет процесс, пока интервал не станет равным одному. \n\u003cbr\u003e\u003cbr\u003e\n\n**В этот момент алгоритм становится сортировкой вставками.**\n\n---\n\n## Быстрая сортировка\n[Подробнее](https://www.geeksforgeeks.org/quick-sort/) | [Видео](https://youtu.be/scqHvAIZkhw?si=Gr_zm305M7_JRiN_\u0026t=47) | [Код](/Sort/QuickSort/QuickSort.h)\n\nБыстрая сортировка - это эффективный алгоритм сортировки, который использует стратегию \"разделяй и властвуй\". Он выбирает элемент, называемый \"опорным\", и сортирует список так, чтобы все элементы, меньшие опорного, были перед ним, а все элементы, большие опорного, были после него. \n\u003cbr\u003e\u003cbr\u003e\n\n**Этот процесс затем повторяется для подсписков, которые образуются слева и справа от опорного элемента.**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finnosan%2Fsecsemcoursework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finnosan%2Fsecsemcoursework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finnosan%2Fsecsemcoursework/lists"}