Π‘Π°ΠΊΠ°Π»Π°Π²Ρ€
Π”ΠΈΠΏΠ»ΠΎΠΌΠ½Ρ‹Π΅ ΠΈ курсовыС Π½Π° Π·Π°ΠΊΠ°Π·

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. 
Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π₯ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠΌ — ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ сортировки, примСняСмый чисто для ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ³ΠΎ примСнСния этому Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ Π½Π΅Ρ‚, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π½Π΅ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½, особСнно Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив большого Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. К ΠΏΠ»ΡŽΡΠ°ΠΌ сортировки ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠΌ относится простота Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Алгоритм сортировки ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠΌ сводится ΠΊ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΎΠ² ΠΏΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌ сортируСмого… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ЦСль: освоСниС срСдства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° MS VisualStudio для программирования Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ сортировки, ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ примСнСния ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

Π₯ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠΌ — ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ сортировки, примСняСмый чисто для ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ³ΠΎ примСнСния этому Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ Π½Π΅Ρ‚, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π½Π΅ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½, особСнно Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив большого Ρ€Π°Π·ΠΌΠ΅Ρ€Π°. К ΠΏΠ»ΡŽΡΠ°ΠΌ сортировки ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠΌ относится простота Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Алгоритм сортировки ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠΌ сводится ΠΊ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΎΠ² ΠΏΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌ сортируСмого массива. ΠŸΡ€ΠΎΡ…ΠΎΠ΄ ΠΏΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌ массива выполняСт Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Ρ†ΠΈΠΊΠ». Π—Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΄Π²Π° сосСдних элСмСнта, ΠΈ Π΅ΡΠ»ΠΈ порядок Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ элСмСнты ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ мСстами. Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Ρ†ΠΈΠΊΠ» Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° массив Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ отсортирован. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ внСшний Ρ†ΠΈΠΊΠ» ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ количСство срабатываний Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ Ρ†ΠΈΠΊΠ»Π° Когда ΠΏΡ€ΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄Π΅ ΠΏΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌ массива Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΎ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ пСрСстановки, Ρ‚ΠΎ ΠΌΠ°ΡΡΠΈΠ² Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ отсортированным. Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ массив ΠΈΠ· 5 элСмСнтов, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… строковый Ρ‚ΠΈΠΏ ΠΈ Ρ…ранящих наимСнования ΡŽΠ²Π΅Π»ΠΈΡ€Π½Ρ‹Ρ… ΠΈΠ·Π΄Π΅Π»ΠΈΠΉ. string[] myArray = { «Π‘Π΅Ρ€ΡŒΠ³ΠΈ», «ΠšΠΎΠ»ΡŒΡ†ΠΎ», «ΠžΠΆΠ΅Ρ€Π΅Π»ΡŒΠ΅», «ΠšΡƒΠ»ΠΎΠ½», «ΠŸΠΎΠ΄Π²Π΅ΡΠΊΠ°» };

Алгоритм сортировки ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠΌ массива ArrayΠΈΠ· 5 элСмСнтов:

  • 1. Если ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт большС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ — мСняСм мСстами
  • 2. Если Π²Ρ‚ΠΎΡ€ΠΎΠΉ большС Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ — мСняСм мСстами
  • 3. Если Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ большС Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠ³ΠΎ — мСняСм мСстами
  • 4. Если Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ большС пятого — мСняСм мСстами
  • 5. Если ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт большС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ — мСняСм мСстами
  • 6. Если Π²Ρ‚ΠΎΡ€ΠΎΠΉ большС Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ — мСняСм мСстами
  • 7. Если Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ большС Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠ³ΠΎ — мСняСм мСстами
  • 8. Если Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ большС пятого — мСняСм мСстами
  • 9. Если ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт большС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ — мСняСм мСстами
  • 10. Если Π²Ρ‚ΠΎΡ€ΠΎΠΉ большС Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ — мСняСм мСстами
  • 11. Если Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ большС Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠ³ΠΎ — мСняСм мСстами
  • 12. Если Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ большС пятого — мСняСм мСстами
  • 13. Если ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт большС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ — мСняСм мСстами
  • 14. Если Π²Ρ‚ΠΎΡ€ΠΎΠΉ большС Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ — мСняСм мСстами
  • 15. Если Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ большС Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠ³ΠΎ — мСняСм мСстами
  • 16. Если Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ большС пятого — мСняСм мСстами
  • 17. Если ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт большС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ — мСняСм мСстами
  • 18. Если Π²Ρ‚ΠΎΡ€ΠΎΠΉ большС Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ — мСняСм мСстами
  • 19. Если Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ большС Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠ³ΠΎ — мСняСм мСстами
  • 20. Если Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚Ρ‹ΠΉ большС пятого — мСняСм мСстами

Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ сортировки слияниСм для массива ΠΈΠ· 5 элСмСнтов (ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1).

ЀункцияString.Compare (arg1,arg2) ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ сравнСниС строк arg1 ΠΈ arg2, ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число Ссли пСрвая ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΠ΅Ρ‚ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈ сортировкС, ноль — Ссли строки Ρ€Π°Π²Π½Ρ‹, ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число — Ссли пСрвая слСдуСт послС Π²Ρ‚ΠΎΡ€ΠΎΠΉ.

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Ρ€Π°Π²Π½Π° О (n*(n-1)).

Листинг ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°:

using System;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Text;

namespaceProgEng.

{.

classProgram.

{.

staticvoid Main (string[] args).

{.

string[] myArray = { «Π‘Π΅Ρ€ΡŒΠ³ΠΈ», «ΠšΠΎΠ»ΡŒΡ†ΠΎ», «ΠžΠΆΠ΅Ρ€Π΅Π»ΡŒΠ΅», «ΠšΡƒΠ»ΠΎΠ½», «ΠŸΠΎΠ΄Π²Π΅ΡΠΊΠ°» };

Console.WriteLine («{0}, {1}, {2}, {3}, {4}.», myArray[0], myArray[1], myArray[2], myArray[3], myArray[4]);

string s;

for (inti = 0; i.

for (int j = 1; j.

if (String.Compare (myArray[j — 1], myArray[j]) > 0).

{.

s = myArray[j];

myArray[j] = myArray[j — 1];

myArray[j — 1] = s;

}.

Console.WriteLine («{0}, {1}, {2}, {3}, {4}.», myArray[0], myArray[1], myArray[2], myArray[3], myArray[4]);

Console.ReadLine ();

}.

}.

}.

ОписаниС:

Π’Π½Π΅ΡˆΠ½ΠΈΠΉΡ†ΠΈΠΊΠ»for (inti=0;i.

Π¦ΠΈΠΊΠ»for (intj=1;j.

Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Рисунок 6. Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’Ρ‹Π²ΠΎΠ΄ Π’ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΌΡ‹ ΠΎΡΠ²ΠΎΠΈΠ»ΠΈ срСдства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° MS Visual Studio для программирования Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ сортировки, ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ ΠΈ ΠΎΡΠ²ΠΎΠΈΠ»ΠΈ примСнСния ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π‘ΠΎΠ·Π΄Π°Π»ΠΈ консольноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΈ ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΡƒ.

инТСнСрия ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ