|
1 / 1 / 0
Регистрация: 10.02.2011
Сообщений: 46
|
|
Программа для сортировки любого массива23.11.2011, 19:25. Показов 92690. Ответов 15
Метки нет (Все метки)
0
|
|
| 23.11.2011, 19:25 | |
|
Ответы с готовыми решениями:
15
Программа для сортировки массива на c51asm Программа для сортировки массива строк Не работает программа для сортировки массива строк |
|
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
|
|
| 23.11.2011, 20:18 | |
|
novic-di, поищите по разделу, тут таких программ навалом уже.
0
|
|
|
11 / 11 / 0
Регистрация: 25.02.2011
Сообщений: 183
|
||||||
| 23.11.2011, 21:17 | ||||||
|
Метод пузырька.
1
|
||||||
|
Ушел с форума
16371 / 7683 / 1080
Регистрация: 11.11.2010
Сообщений: 13,757
|
|||||||||||||||||||||||||||||||||||||||||
| 25.11.2011, 05:03 | |||||||||||||||||||||||||||||||||||||||||
|
Сортирую двойные слова
Пузырьковая
Шейкер
Пирамидальная
Добавлено через 3 минуты сортировка прямым включением
Алгоритм можно улучшить пользуясь тем, что готовая последовательность уже упорядочена. Место вставки нового элемента можно найти значительно быстрее, если применить бинарный поиск, исследовав сперва средний элемент упорядоченной последовательности и продолжая деление пополам, пока не будет найдено место вставки. Для n=26 элементов лучший случай — 25, средний и худший — 106 (лучше пузырьковой сортировки почти в 3 раза)
На массиве из n элементов время выполнения в худшем, среднем и лучшем случае n*(n-1)/2
Среднее время работы алгоритма зависит от длин промежутков, на которых будут находится сортируемые элементы исходного списка на каждом шаге алгоритма при выборе последовательности значений d1=n/2, d2=d1/2,...,1 в худшем случае алгоритм выполнит O(n2) — сравнений 140 Table dd 32768,16384,8192,4096,2048,1024,512,256, 128,64,32,16,8,4,2,1 все значения (3^j−1)/2 < n, такая последовательность шагов приводит к алгоритму класса O(n^(3/2)) — сравнений 108 Table dd 797161,265720,88573,29524,9841,3280,1093 ,364,121,40,13,4,1 последовательности вида N=2*N+1 — сравнений 118 Table dd 32767,16383,8191,4095,2047,1023,511,255, 127,63,31,15,7,3,1 последовательность Дж.Инсерпи и Р.Седгевика — сравнений 115: Table dd 198768,86961,33936,13776,4592,1968,861,3 36,112,48,21,7,3,1
Сортировка даёт в среднем O(n log n) сравнений
29
|
|||||||||||||||||||||||||||||||||||||||||
|
Модератор
|
||||||||||||||||
| 01.05.2017, 15:56 | ||||||||||||||||
|
Сортировка Шелла (DOS 16 бит)
Отличие, от приведённого Mikl___ - используются 16 битные регистры и длина промежутка берётся не оптимальной (из таблицы), а вычисляется по упрощённому алгоритму - на каждом шаге длина промежутка уменьшается вдвое. И дополнительно, код оформлен в виде процедуры. О сортировке можно почитать на страницах Wikipedia https://ru.wikipedia.org/wiki/Сортировка_Шелла https://en.wikipedia.org/wiki/Shellsort https://ru.wikibooks.org/wiki/... овка/Шелла На русскоязычной странице Wikipedia приведён код на языке C с упрощённым выбором длины промежутка:
Соответствие регистров переменным ax - t bx - адрес A cx - k dx - N si - i di - j Перевод получился не точным, т.к. использование цикла с предусловием влечёт за собой увеличение числа переходов и меток для них. Но, воспользовавшись ситуацией, когда вложенные циклы for по i и по j всегда выполняются хоть раз, заменяю эти два цикла на циклы с постусловием. В комментариях используется код на языке C.
0
|
||||||||||||||||
|
Модератор
|
|||||||||||||||||||||||||||||||
| 29.05.2017, 00:30 | |||||||||||||||||||||||||||||||
|
Сортировка пузырьком (DOS 16 бит)
Ранее Mikl___ уже приводил пример данной сортировки для упорядочивания двойных слов. Добавлю ещё два примера для сортировки байта и слова. Алгоритмическое отличие от приведённой Mikl___ в том, что подпрограмма продолжит просматривать отсортированный массив (конечно, это можно улучшить). Кроме того, не используются новые команды процессора. Это, конечно, не очень хорошо, но зато позволяет компилироваться без включения директив компилятора, разрешающих эти команды (для новичков это довольно критично). Сортировка пузырьком интересна тем, что она устойчивая и простая в реализации. Этим обусловлено её применение за пределами собственно сортировки. Примеры нестандартного применения сортировки "пузырьком" для упорядочивания массивов по критериям отличным от привычного "по неубыванию": Вывод на экран упорядоченной строки - сначала цифры потом буквы Сортировка массива: числа по убыванию с начала, буквы по убыванию в конце Все отрицательные элементы массива А необходимо поставить в начало массива, а положительные в конец Сортировка массива: в начале - все отрицательные, затем - нулевые, в конце - все положительные (с сохранением порядка) Сортировка "пузырьком" по неубыванию на языке высокого уровня Pascal выглядит так (это, скорее, не "пузырёк", а "кирпичик", но сути не меняет)
0
|
|||||||||||||||||||||||||||||||
|
Модератор
|
||||||||||||
| 11.06.2017, 12:32 | ||||||||||||
|
Двоичная поразрядная сортировка массива беззнаковых целых чисел (DOS 16 бит)
О поразрядной сортировке и её разновидностях можно почитать по ссылкам: http://algolist.manual.ru/sort/radix_sort.php https://en.wikipedia.org/wiki/Radix_sort https://ru.wikipedia.org/wiki/... сортировка Особенно рекомендую статью с algolist.manual.ru. В Wikipedia приводится ссылка на примеры реализации в Wikibooks: https://ru.wikibooks.org/wiki/... оразрядная https://en.wikibooks.org/wiki/... Radix_sort За основу для реализации на ассемблере возьму вариант из русской странички Wikibooks:
Т.к. имеем дело с рекурсивными вызовами, то параметры вызова удобнее передавать через стек. Можно "вручную" определять смещения аргументов в стеке, но, всё же, удобнее воспользоваться директивами объявления процедур, символьными метками аргументов. Для этого придётся объявить вместе с моделью памяти ещё и модель соглашения передачи аргументов процедуре вместе с указанием ответственного за очистку стека от этих аргументов (чаще всего это ассоциируется с названиями языков высокого уровня). Я выбрал Pascal: .model small, Pascal, что означает передачу параметров слева-направо и очистку в вызываемой процедуре.Реализация для диалекта tasm (немного переименовал названия параметров, т.к. некоторые слова из исходника на С являются зарезервированными в tasm):
Пример программы, использующей данную процедуру
1
|
||||||||||||
|
Модератор
|
||||||||||||
| 31.10.2017, 18:34 | ||||||||||||
|
Быстрая сортировка (Quick Sort) массива знаковых целых чисел (DOS 16 бит)
О быстрой сортировке и её разновидностях можно почитать по ссылкам: http://algolist.manual.ru/sort/quick_sort.php https://en.wikipedia.org/wiki/Quicksort https://ru.wikipedia.org/wiki/Быстрая_сортировка В Wikipedia приводится ссылка на примеры реализации в Wikibooks: https://ru.wikibooks.org/wiki/... ка/Быстрая https://en.wikibooks.org/wiki/... /Quicksort На английской страничке приводится и итеративная версия алгоритма. За основу для реализации на ассемблере возьму вариант из русской странички Wikibooks:
Сделаю пояснения по реализации. 1. По моим представлениям, названия переменных, функций и меток не могут быть столь коротки, что не вызывают правильных ассоциаций. Поэтому название функции qs при реализации заменил на QSort.2. Т.к. для функции обработки всего массива привычнее передавать процедуре адрес и длину этого массива, то вместо вызова QSort из основной программы, вызывается процедура-обёртка QuickSort. А уже внутри QuickSort вызывается QSort c правильно cформированными параметрами. 3. При вычислении индекса середины диапазона (left + right) / 2 в поучительно-выпендрёжных целях (исключения переполнения при суммировании) использовал преобразованную формулу left + ((right - left) / 2)4. Это реализация быстрой сортировки в общем виде (не разбиение Ломуто, не разбиение Хоара). 5. Опорный элемент выбирается как средний элемент подмассива. При решении задач с сайтов с "электронным судьёй" иногда встречаются специально подобранные последовательности, на которых быстрая сортировка с опорным элементом из середины фактически останавливает выполнение программы, и реальным выходом является выбор опорного элемента как элемента массива со случайным индексом из сортируемого диапазона.
Написать код реализации быстрой сортировки
1
|
||||||||||||
|
Asm/C++/Delphi/Py/PHP/VBA
|
|||||||||||
| 11.11.2017, 13:28 | |||||||||||
|
Умная быстрая сортировка Заморочился и сделал не просто быструю сортировку, но ещё и умную ![]() Алгоритм работы умной сортировки заключается в следующем. По умолчанию используется быстрая сортировка, однако если кол-во элементов массива на первой или последующей итерации меньше некоего порогового значения (по умолчанию 16), либо если для следующего уровня рекурсии в общей сложности потребуется слишком много стека (по умолчанию 128 байт), используется сортировка вставками, в которой рекурсия отсутствует. Это немного ускоряет процесс (мои замеры показывают прирост до 10% для случайных данных) и защищает стек от переполнения. Иногда при сортировке массивов необходимо упорядочить не только числовые элементы, но и соответствующие им данные. Например, имеется список людей с указанием года рождения и фамилии для каждого из них. Год рождения записан в виде числового значения, а фамилия – в виде указателя на строку. Таким образом, каждый элемент массива будет содержать 2 записи размером WORD каждая: +0 WORD Год рождения +2 WORD Адрес (смещение) строки с фамилией При сортировке такого массива необходимо сравнивать только первые элементы (опорные значения), однако перемещать (менять местами) и первые, и вторые. Если массив должен содержать более 2-х элементов, все элементы, кроме опорного (например, фамилию, имя, адрес и телефон) необходимо записать в отдельную область памяти, а во втором поле указать ссылку на эту структуру (которая не ограничена в размере и может также содержать ссылки на каждый из элементов). К сожалению, данная реализация модулей не позволяет работать с 32-битными данными (включая дальние указатели), однако опытный программист без труда сможет внести требуемые изменения при необходимости ![]() Мои процедуры позволяют выполнить как сортировку одиночных (числовых) элементов, так и двойных (числовых элементов с привязанными данными). Некоторые файлы прикреплённого архива содержат универсальные процедуры (размер данных, знаковость числовых значений и направление сортировки, а также другие параметры задаются в исходнике программы перед подключением файла), другие – с заданными параметрами, некоторые из которых можно менять, изменяя сам исходник. Процедура быстрой сортировки оптимизирована таким образом, что каждый последующий уровень рекурсии не требует записи в стек адреса возврата (поскольку рекурсивный вызов происходит из одной и той же точки в процедуре), в стек записываются лишь локальные данные, минимально необходимые для последующей работы (2 слово = 4 байта). Это довольно весомый плюс в сравнении с предыдущим примером, в котором каждая рекурсия сохраняет в стек все модифицируемые регистры (на первой итерации это делается дважды) и требует аж 7-8 слов (14-16 байт) для каждого уровня рекурсии! Модуль умной быстрой сортировки для массивов с одиночными элементами IQSortS1.inc:
2
|
|||||||||||
|
Asm/C++/Delphi/Py/PHP/VBA
|
||||||
| 11.11.2017, 13:32 | ||||||
|
Решил всё же добавить в виде сообщений тексты исходников ещё некоторых (но не всех) модулей (к сожалению, в одной сообщение они не помещаются):
Модуль умной быстрой сортировки для массивов с двойными элементами IQSortS2.inc:
2
|
||||||
|
Asm/C++/Delphi/Py/PHP/VBA
|
|||||||||||
| 11.11.2017, 15:21 | |||||||||||
|
Модуль обычной быстрой сортировки для массивов с одиночными элементами QSortS1.inc:
Добавлено через 1 час 43 минуты Добавлю, что несмотря на большую популярность пузырьковой сортировки, сортировка вставками работает значительно быстрее на случайных данных, при этом её алгоритм ничуть не сложнее, а в чём-то даже и проще (мои тесты показали двойную разницу в скорости... правда, тестировал я в DOSBox, но и на реальной машине перевес будет в пользу сортировки вставками).
2
|
|||||||||||
|
Asm/C++/Delphi/Py/PHP/VBA
|
||||||
| 11.11.2017, 22:16 | ||||||
|
Умная быстрая сортировка 32-битных элементов Сделана ещё одна коллекция модулей сортировки. Полная копия описанных выше, но работающая с 32-битными элементами! ![]() Теперь вы можете использовать дальние указатели во втором двойном слове, либо 2 ближних указателя, а также 32-битные элементы в первом (опорном) двойном слове (в котором можно расположить, например, дату рождения). Например:
![]() Если 4-х байтов для опорных значений (т.е. значений, которые будут сравниваться и на основе которых будет происходить сортировка) слишком много, можно использовать 2 старших (WORD), а младшие 2 заполнить нулями (если сделать наоборот, то знаковое сравнение работать не будет). Прикрепляю архив с модулями для работы как с 16-битными данными (поскольку в них я внёс некоторые несущественные изменения, касающиеся по большей части комментариев и названий внутренних меток), так и с 32-битными. Пользуйтесь! ![]() asm7x
1
|
||||||
|
Asm/C++/Delphi/Py/PHP/VBA
|
||||||
| 11.11.2017, 22:18 | ||||||
|
К сожалению, ограничение размера сообщения в 15 Кб снова не позволило мне прикрепить исходник модуля (не хватило нескольких сотен байт), поэтому делаю это в отдельном сообщении.
На этот раз я приведу лишь один исходный код – универсального модуля IQSort4.inc, модуля умной быстрой сортировки расширенных (32-битных) элементов:
1
|
||||||
|
Asm/C++/Delphi/Py/PHP/VBA
|
|||||||||||
| 12.11.2017, 12:20 | |||||||||||
|
Как вы понимаете, в прикреплённых архивах множество вариантов модулей на любой вкус и цвет, поэтому не стоит пугаться такому обилию директив условной компиляции – это самый насыщенный такими декорациями модуль
![]() Файлы модулей, работающих с 16-битными данными:
Файлы с именами без суффиксов (S1, S2) содержат много директив условной компиляции и констант и могут быть сложны для понимания. Однако они более универсальны и включают в код только ту часть, которая необходима. Файлы с суффиксами S1 и S2 (Simple Single/Double) содержат минимальное кол-во настроек, которые хранятся внутри самих модулей (либо эти настройки отсутствуют вовсе). Для изменения некоторых настроек (например, присутствия знака в числовых значениях или направления сортировки) придётся править исходники (правда, сделать это легко – в этих файлах есть описание этого незамысловатого процесса). Эти файлы практически не содержат директив условной компиляции и более понятны для изучения. В каждом из архивов есть файл ReadMe.txt с информацией о коллекции модулей сортировки. К тому же, сами исходники снабжены подробным описанием каждой настройки и процедур. В архивах также имеются папки examples с тестовыми программами, использующими данные модули. Большая просьба! В случае внесения изменений в текст include-файла добавляйте в его заголовок комментарий о том, что он модифицирован (с указанием имени автора внесения изменений, желательно также изменить и имя файла), чтобы при переносе на другой компьютер или в другой проект не возникло неожиданностей (сделайте это, даже если вы не планируете переносить файл в другое место) ![]() p.s. Немного об используемых методах сортировки... Почему я использую именно сортировку вставками, а не пузырьковую или сортировку Шелла? Повторюсь, что сортировка вставками на случайных данных работает раза в 2 быстрее пузырьковой (несмотря на её популярность), при этом в реализации она ничуть не сложнее, а где-то даже и проще. Сортировка Шелла не даст прироста скорости для небольших массивов (здесь же сортировка вставками используется по умолчанию для массивов, содержащих менее 16 элементами – это число взято в результате эмпирических экспериментов с разными значениями – 8, 12, 16, 24, 32). Прочие сортировки (вроде пирамидальной – тогда бы получился метод Introsort) слишком громоздки, поэтому я не стал их применять. Что касается быстрой сортировки, то я использую вариант реализации, схожий с используемым в Delphi – в сравнении с "классическим" вариантом (где рекурсивный вызов происходит дважды) данный метод во многих случаях более быстрый и использует меньше уровней рекурсии (правда, замеры я проводил именно в Delphi, но думаю, что и для ассемблера этот вариант оптимален, тем более он позволяет не записывать в стек адрес возврата при рекурсии) ![]() asm7x
2
|
|||||||||||
|
Модератор
|
|||||||||||||||||||||
| 24.06.2019, 02:37 | |||||||||||||||||||||
|
Пирамидальная сортировка, сортировка кучей (HeapSort) массива знаковых целых чисел (Windows 32 бит) К реализации Mikl___ из сообщения #4 добавлю собственную. Различие лишь в подходах передачи параметров и несколько более развёрнутом пояснении источников алгоритма. О пирамидальной сортировке и разновидностях её реализации можно почитать по ссылкам: https://ru.wikipedia.org/wiki/... сортировка http://algolist.manual.ru/sort/pyramid_sort.php https://www.codelab.ru/t/pyramid_sort/ Читать нужно внимательно, т.к. в статьях пояснения всегда приводятся для массива с индексацией от нуля, а примеры кода - то с индексацией от "0", то с индексацией от "1". В Wikipedia приводится ссылка на примеры реализации в Wikibooks: https://ru.wikibooks.org/wiki/... амидальная https://en.wikibooks.org/wiki/... g/Heapsort Также интересным будет ознакомление с реализациями на "розеттском коде": http://rosettacode.org/wiki/So... s/Heapsort Теория и рекурсивная реализация по данной ссылке, помогают лучше разобраться с алгоритмом: https://evileg.com/ru/post/463/ Т.к. имеем дело с алгоритмом, а не с трюками для процессора, удобнее выбрать язык высокого уровня, реализовать на нём алгоритм и затем перевести отработанный код на ассемблер. Мне удобнее реализовывать на Pascal. Тестовая программа на Free Pascal
За основу реализации был взят псевдокод по ссылке https://www.codelab.ru/t/pyramid_sort/ Этот псевдокод содержит ошибки, исправить которые помогли сравнения с псевдокодом и реализацией по ссылке http://rosettacode.org/wiki/So... s/Heapsort Но в образцовом псевдокоде присутствует любопытная оптимизация процедуры siftDown - вместо обмена значений между "текущим корнем" и его "детьми", предлагается в корень помещать число, а само значение корня только хранить в переменной, чтобы по завершению цикла записать его в последнего просмотренного "ребёнка". Так несколько сокращается обращение к памяти и увеличивается скорость выполнения программы. В моей реализации менее оптимальный (но более понятный) вариант заключён в комментарии. Аккуратно перенося алгоритм на Ассемблер, получаем
Тестовая программа
Это учебная реализация, не претендующая на максимальную производительность, но показывающая связь алгоритма с кодом. Возможные пути улучшения данной реализации: 1. Т.к. и HeapSort и siftDown работают с одним массивом, то можно не передавать адрес массива отдельным параметром, условившись, что он будет неизменно находится в одном из регистров (например, в esi). 2. Т.к. при выполнении сортировки фактически требуется сохранение не более двух регистров (ecx и ebx), можно заменить в siftDown инструкции pushad/popad на инструкции для двух конкретных регистров. Или же, переработать программу для передачи параметров в siftDown через глобальные переменные - как это сделано у Mikl___ - или через локальные для HeapSort, т.к. для неё siftDown является, по сути, вложенной процедурой.
1
|
|||||||||||||||||||||
|
Модератор
|
||||||||||||||||||||||||||||||||
| 17.04.2021, 23:26 | ||||||||||||||||||||||||||||||||
|
Сортировка массива процедурой qsort из MSVCRT (Windows 32 бит) В состав "msvcrt.dll" (Windows) входит процедура qsort, позволяющая сортировать массив с элементами произвольного типа. Описание процедуры со странички Microsoft: Кликните здесь для просмотра всего текста
Использование в синтаксисе masm32 схематично выглядит
Предполагаю, что когда-то достаточно было возвращать из весовой функции не полный результат сравнения, а только один из двух вариантов - "больше" или "меньше или равно". Проверяя работу crt_qsort для неполной весовой функции столкнулся со следующим поведением: - при длине массива не более 8 элементов результат сортировки ожидаемый - при длине массива более 8 элементов массив будет лишь частично отсортирован. Но после реализации весовой функции, различающей все три состояния ("больше", "равно", "меньше"), результат сортировки стал ожидаемым и корректным. На форуме уже встречались примеры применения этой процедуры, например, для masm32 Преобразовать массив, расположив сначала отрицательные, затем положительные, а затем нулевые элементы Скопирую из сообщения по ссылке пример Charles Kludge сортировки массива целых чисел так, чтобы сначала располагались отрицательные, затем положительные и после них нули (очевидно, что достаточно сортировать, как массив чисел без знака, т.к. отрицательные числа представлены в дополнительном формате и при сравнении без учёта знака будут больше положительных чисел). Сразу исправлю опечатку и весовую функцию. Кликните здесь для просмотра всего текста
Можно добавить ещё примеров Сортировка целых чисел с учётом знака Кликните здесь для просмотра всего текста
Сортировка массива действительных чисел (в формате с "плавающей запятой") двойной точности (double): Кликните здесь для просмотра всего текста
В этих примерах весовая функция (функция сравнения) достаточно простая, поэтому при реализации можно и нужно обходиться без стекового фрейма. В синтаксисе это выразилось в отсутствии описания параметров, а значит в результате компиляции инструкция ret не будет чистить стек от параметров, как по умолчанию предписывает параметр stdcall в директиве .model.При более сложной весовой функции и необходимости иметь кадр (фрейм) стека нужно убедиться, что функция объявлена с соглашением о вызове для языка C (cdecl):
В этом примере также можно было перед вызовом сортировки очистить стек FPU и поддерживать его пустым после выхода из весовой функции. Но, для учебного примера, создаётся излишне сложная функция, демонстрирующая необходимость явного объявления соглашения о вызове при описании процедуры. Кликните здесь для просмотра всего текста
2
|
||||||||||||||||||||||||||||||||
| 17.04.2021, 23:26 | |
|
Помогаю со студенческими работами здесь
16
Программа для сортировки одномерного массива нуждается в доработке Работа с массивами через указатели, адреса. Функция сортировки выбором любого массива Переделать код для сортировки массива на код для сортировки двумерной матрицы
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1
У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\
А в самом низу файла-профиля. . .
|