Вступ до сортування за С

У програмі розробники відчувають бажання сортувати дані для того, щоб надати певний функціонал. Існує кілька підходів до сортування даних, і вони підраховуються за сортуванням за номенклатурою. Сортування може бути визначено як спосіб упорядкування даних певним чином, що відповідає певному порядку. Тут у цьому розділі ми дізнаємось про сортування за допомогою мови програмування C. Існує кілька типів сортування, таких як сортування бульбашок, сортування злиття, сортування вибору, сортування вставки тощо. Ми зробимо фактичне кодування методів сортування, які дуже часто використовуються в додатку. Коди будуть доступні вам у текстовому форматі, так що ви можете легко використовувати цей код, тоді як вихід буде відображатися на скріншоті, щоб дати вам уявлення про фактичний вихід, який надходить після запуску програми.

Як сортування проводиться в C?

  • Сортування може проводитися різними способами на основі алгоритму сортування. У мові програмування на C ми маємо кілька підходів до сортування списку. Термін сортування визначає впорядкування даних певним чином, як правило, у порядку зростання. Хоча спосіб сортування даних різний у всіх алгоритмах сортування, результат усіх них однаковий.
  • Зазвичай при сортуванні програма шукає мінімальну кількість і зміщує це число на початок списку і повторює ті самі пошуки. Після того, як зустрінеться інше невелике число, воно переміщується на наступне пробіл у списку відразу після першого індексу, і цей процес продовжує повторюватися, поки не буде отримано список сортування. Таким чином проводиться сортування в мові програмування на С.
  • У всіх підходах до сортування списку масив відіграє дуже важливу роль у мові програмування на C. У кожному алгоритмі масив використовувався для зберігання списку елементів, які мають бути відсортовані. Наприклад, у сортуванні бульбашок елементи зберігаються в одному масиві, а значення в масиві обробляються для перетворення їх у список відсортованих даних.
  • У сортуванні вибору той самий масив розглядається як два масиви, де перший масив вважається вакантним для того, щоб повідомити відсортовані значення, тоді як другий масив містить несортований список. Для задоволення мети сортування масиву використовується дуже часто замість проведення значень в окремих змінних. Серед усіх алгоритмів швидке сортування працює дуже швидко і звідси названо швидким сортуванням. Це займає набагато менше часу порівняно з іншими алгоритмами сортування.

Види сортування в С

1. Сортування бульбашок

  • Сортування бульбашок може бути визначено як алгоритм сортування, який слід підходити до заміни значення в першому індексі найменшим значенням у масиві і тримати його повторенням, поки список не буде відсортований. Це дуже простий спосіб виконання сортування. Таким чином, щоб сортувати масив, значення має бути призначене для масиву на початку перед початком сортування.
  • Нижче наводиться програма сортування масиву за допомогою сортування бульбашок, де значення були взяті у користувача. Після того як програма буде скомпільована і запущена, вона запитає у користувача кількість елементів, які вони бажають сортувати. Після введення номера програма попросить користувача надати значення, еквівалентні кількості, яку вони надали. Значення будуть зберігатися в масиві та будуть додатково оброблені, використовуючи вкладені для циклу разом з прийняттям рішення, використовуючи "якщо", щоб сортувати масив.
  • Перше найменше значення, знайдене в масиві, було переміщено до першого індексу масиву, а потім пошук знову починається з пошуку іншого найменшого числа. Як тільки буде знайдено наступне найменше число, воно замінює значення у другому індексі і процес продовжує повторюватися, поки масив не складається з відсортованого списку значень.

Код

#include
int main()
(
int total_count, counter, counter1, swap_var;
int array(20);
printf("How many number you want to input?\n");
scanf("%d", &total_count);
printf("Please enter %d integers that has to be sorted\n", total_count);
for (counter = 0; counter < total_count; counter++)
scanf("%d", &array(counter));
for (counter = 0 ; counter < total_count - 1; counter++)
(
for (counter1 = 0 ; counter1 < total_count - counter - 1; counter1++)
(
if (array(counter1) > array(counter1+1)) /* For decreasing order use < */
(
swap_var = array(counter1);
array(counter1) = array(counter1+1);
array(counter1+1) = swap_var;
)
)
)
printf("Below is the list of elements sorted in ascending order:\n");
for (counter = 0; counter < total_count; counter++)
printf("%d\n", array(counter));
return 0;
)

Користувач подав вхід 5 3 60 14 1 2 645. Алгоритм застосовано до масиву, що складається із значень у спосіб, який він надає користувачеві, і після обробки його отриманий нами вихід 1 2 3 5 14 60 645 .

Вихід:

2. Сортування вибору

  • Сортування вибору може бути визначено як інший алгоритм сортування списку, в якому масив роздвоєний на два масиви, де перший масив повинен бути порожнім, а другий масив складається з несортованого списку значень. Програма здійснює пошук найменших значень у другому масиві, і коли значення знайдено, воно було переміщене до початку першого масиву, який був порожнім. Підхід повторюється знову і наступні найменші значення будуть зміщені на другий індекс першого масиву. Процеси будуть повторюватися, поки другий масив не стане порожнім.
  • Наведена нижче програма - це кодування реалізації алгоритму сортування вибору. Після успішної роботи програми вона попросить користувача ввести кількість значень, які вони готові сортувати. Після отримання підрахунку програма попросить користувача ввести значення масиву, який повинен бути відсортований. Потім значення обробляється за допомогою вкладеної для циклу для сортування чисел. Тут також була включена перевірка стану, якщо перевірити найменше число.
  • Процеси будуть повторюватися, поки перший список не буде заповнений відсортованим списком. Тим часом, програми зберігають свою основну увагу, щоб перевірити, чи має другий масив значення, і якщо він визнаний позитивним, програма знову запускає алгоритм сортування. Хоча сортування списку просте, це може зайняти трохи більше часу порівняно з іншими алгоритмами. Але до кінця результат, який він буде генерувати, буде таким же, як і інші алгоритми сортування.

Код
#include
#include
void main()
(
int total_count, counter1, counter2, minimum, temp_value;
int a(20);
printf("\n Enter the Number of Elements: ");
scanf("%d", &total_count);
printf("\n Enter %d Elements: ", total_count);
for(counter1=0;counter1 (
scanf("%d", &a(counter1));
)
for(counter1=0;counter1 (
minimum=counter1;
for(counter2=counter1+1;counter2 (
if(a(minimum)>a(counter2))
minimum=counter2;
)
if(minimum!=counter1)
(
temp_value=a(counter1);
a(counter1)=a(minimum);
a(minimum)=temp_value;
)
)
printf("\n The Sorted array in ascending order: ");
for(counter1=0;counter1 (
printf("%d ", a(counter1));
)
getch();
)
#include
#include
void main()
(
int total_count, counter1, counter2, minimum, temp_value;
int a(20);
printf("\n Enter the Number of Elements: ");
scanf("%d", &total_count);
printf("\n Enter %d Elements: ", total_count);
for(counter1=0;counter1 (
scanf("%d", &a(counter1));
)
for(counter1=0;counter1 (
minimum=counter1;
for(counter2=counter1+1;counter2 (
if(a(minimum)>a(counter2))
minimum=counter2;
)
if(minimum!=counter1)
(
temp_value=a(counter1);
a(counter1)=a(minimum);
a(minimum)=temp_value;
)
)
printf("\n The Sorted array in ascending order: ");
for(counter1=0;counter1 (
printf("%d ", a(counter1));
)
getch();
)
#include
#include
void main()
(
int total_count, counter1, counter2, minimum, temp_value;
int a(20);
printf("\n Enter the Number of Elements: ");
scanf("%d", &total_count);
printf("\n Enter %d Elements: ", total_count);
for(counter1=0;counter1 (
scanf("%d", &a(counter1));
)
for(counter1=0;counter1 (
minimum=counter1;
for(counter2=counter1+1;counter2 (
if(a(minimum)>a(counter2))
minimum=counter2;
)
if(minimum!=counter1)
(
temp_value=a(counter1);
a(counter1)=a(minimum);
a(minimum)=temp_value;
)
)
printf("\n The Sorted array in ascending order: ");
for(counter1=0;counter1 (
printf("%d ", a(counter1));
)
getch();
)
#include
#include
void main()
(
int total_count, counter1, counter2, minimum, temp_value;
int a(20);
printf("\n Enter the Number of Elements: ");
scanf("%d", &total_count);
printf("\n Enter %d Elements: ", total_count);
for(counter1=0;counter1 (
scanf("%d", &a(counter1));
)
for(counter1=0;counter1 (
minimum=counter1;
for(counter2=counter1+1;counter2 (
if(a(minimum)>a(counter2))
minimum=counter2;
)
if(minimum!=counter1)
(
temp_value=a(counter1);
a(counter1)=a(minimum);
a(minimum)=temp_value;
)
)
printf("\n The Sorted array in ascending order: ");
for(counter1=0;counter1 (
printf("%d ", a(counter1));
)
getch();
)
#include
#include
void main()
(
int total_count, counter1, counter2, minimum, temp_value;
int a(20);
printf("\n Enter the Number of Elements: ");
scanf("%d", &total_count);
printf("\n Enter %d Elements: ", total_count);
for(counter1=0;counter1 (
scanf("%d", &a(counter1));
)
for(counter1=0;counter1 (
minimum=counter1;
for(counter2=counter1+1;counter2 (
if(a(minimum)>a(counter2))
minimum=counter2;
)
if(minimum!=counter1)
(
temp_value=a(counter1);
a(counter1)=a(minimum);
a(minimum)=temp_value;
)
)
printf("\n The Sorted array in ascending order: ");
for(counter1=0;counter1 (
printf("%d ", a(counter1));
)
getch();
)

На запит про кількість елементів, які необхідно сортувати, користувач надав 6 у нижченаведеному висновку. Пізніше значення, які були введені, становлять 25 65 36 86 96 45. Ці значення зберігаються у масиві, який, як очікується, буде роздвоєний на два масиви, де один буде порожнім для зберігання відсортованого списку, а інший матиме несортований список . Після обробки вхідних даних результат отримав 25 36 45 65 86 96. Це втрачено було відсортовано за допомогою сортування вибору. Після того, як всі шість значень будуть переміщені до першого масиву у відсортованому вигляді, другий масив стане порожнім, а алгоритм припиниться.

Вихід:

3. Швидкий сортування

  • Quicksort можна визначити як інший алгоритм сортування списку, в якому підхід полягає у поділі масиву на величини, що перевищують значення та менші за значення, до тих пір, поки цілі значення не поділяються на окремі форми. У цьому алгоритмі значення останнього індексу масиву було обрано у якості зведеного, і всі значення, менші за зсув, зміщені до масиву, який, як очікується, відбудеться зліва від значення та елементів, що мають більш високе значення ніж зсув переміщується в правий масив. Знову вибирається один зведений з новоствореного масиву, який мав значення, менші за останнє значення повороту. Аналогічно, значення, менші, ніж новий шарнір, будуть зміщені до масиву, який залишиться, а значення більше, ніж новий шарнір, буде зміщено у правому масиві.
  • Наведена нижче програма - це реалізація швидкості, використовуючи мову програмування C. Після запуску програми вона запитає у користувача кількість елементів, які вони хочуть сортувати. Виходячи з підрахунку, цикл for буде повторювати приблизний час для отримання даних від користувача. Вхід буде оброблено, використовуючи умови if разом із циклом for для генерування відсортованого списку. Масив буде продовжувати впорядковувати значення за допомогою зведеного значення, поки всі значення не будуть перевірені на найменше значення.
  • Сортування, проведене за допомогою цього алгоритму, є занадто швидким порівняно з іншими алгоритмами сортування, і тому його було названо швидким сортуванням. Quicksort - єдиний алгоритм, який веде до ділення масиву, поки всі значення не будуть розділені на окремі масиви. Потім вони будуть додані або агреговані в одному масиві, який розглядається як відсортований список.

Код:

#include
void quicksort_method (int (), int, int);
int main()
(
int element_list(50), count, counter;
printf("Please enter the total count of the elements that you want to sort: ");
scanf("%d", &count);
printf("Please input the elements that has to be sorted:\n");
for (counter = 0; counter < count; counter++)
(
scanf("%d", &element_list(counter));
)
quicksort_method(element_list, 0, count - 1);
printf("Output generated after using quick sort\n");
for (counter = 0; counter < count; counter++)
(
printf("%d ", element_list(counter));
)
printf("\n");
return 0;
)
void quicksort_method(int element_list(), int low, int high)
(
int pivot, value1, value2, temp;
if (low < high)
(
pivot = low;
value1 = low;
value2 = high;
while (value1 < value2)
(
while (element_list(value1) <= element_list(pivot) && value1 <= high)
(
value1++;
)
while (element_list(value2) > element_list(pivot) && value2 >= low)
(
value2--;
)
if (value1 < value2)
(
temp = element_list(value1);
element_list(value1) = element_list(value2);
element_list(value2) = temp;
)
)
temp = element_list(value2);
element_list(value2) = element_list(pivot);
element_list(pivot) = temp;
quicksort_method(element_list, low, value2 - 1);
quicksort_method(element_list, value2 + 1, high);
)
)

У нижченаведеному висновку користувач підтвердив, що вони будуть надсилати 6 значень та формувати список відсортованих даних. Після надання підрахунку значення, надані користувачем, становлять 56, 35, 24, 86, 98, 2. До цих значень було застосовано швидкий вибір і створено відсортований список, який має значення 2, 24, 35, 56, 86, 98.

Вихід:

4. Злиття сортування

  • Сортування сортування може бути визначено як інший алгоритм сортування, який виконує сортування, відокремлюючи масив до останнього, коли він перетворюється на індивідуальне значення, а потім агрегує їх таким чином, щоб він міг перетворитися на відсортований масив.
  • Процес займає небагато часу в порівнянні з іншими конкуруючими алгоритмами, але він вважається досить ефективним порівняно з іншими. Якщо мова йде про сортування великого списку, цей алгоритм працює дуже добре, а тому надає перевагу розробці програми, яка має обробляти великий список.

Код:

#include
void algo_merge_sort(int val(), int counter1, int counter2);
void perfrom_merge(int val(), int counter11, int counter12, int counter22, int counter21);
int main()
(
int val(100), chk, counter1;
printf("Please enter the total count of the elements that you want to sort: \n");
scanf("%d", &chk);
printf("Please input the elements that has to be sorted:\n");
for(counter1=0;counter1 scanf("%d", &val(counter1));
algo_merge_sort(val, 0, chk-1);
printf("\n Output generated after using quick sort \n");
for(counter1=0;counter1 printf("%d ", val(counter1));
return 0;
)
void algo_merge_sort(int val(), int counter1, int counter2)
(
int mid;
if(counter1 (
mid=(counter1+counter2)/2;
algo_merge_sort(val, counter1, mid);
algo_merge_sort(val, mid+1, counter2);
perfrom_merge(val, counter1, mid, mid+1, counter2);
)
)
void perfrom_merge(int val(), int counter11, int counter12, int counter22, int counter21)
(
int temp_val(50);
int c1, c2, c3;
c1=counter11;
c2=counter22;
c3=0;
while(c1<=counter12 && c2<=counter21)
(
if(val(c1) temp_val(c3++)=val(c1++);
else
temp_val(c3++)=val(c2++);
)
while(c1<=counter12)
temp_val(c3++)=val(c1++);
while(c2<=counter21)
temp_val(c3++)=val(c2++);
for(c1=counter11, c2=0;c1<=counter21;c1++, c2++)
val(c1)=temp_val(c2);
)
#include
void algo_merge_sort(int val(), int counter1, int counter2);
void perfrom_merge(int val(), int counter11, int counter12, int counter22, int counter21);
int main()
(
int val(100), chk, counter1;
printf("Please enter the total count of the elements that you want to sort: \n");
scanf("%d", &chk);
printf("Please input the elements that has to be sorted:\n");
for(counter1=0;counter1 scanf("%d", &val(counter1));
algo_merge_sort(val, 0, chk-1);
printf("\n Output generated after using quick sort \n");
for(counter1=0;counter1 printf("%d ", val(counter1));
return 0;
)
void algo_merge_sort(int val(), int counter1, int counter2)
(
int mid;
if(counter1 (
mid=(counter1+counter2)/2;
algo_merge_sort(val, counter1, mid);
algo_merge_sort(val, mid+1, counter2);
perfrom_merge(val, counter1, mid, mid+1, counter2);
)
)
void perfrom_merge(int val(), int counter11, int counter12, int counter22, int counter21)
(
int temp_val(50);
int c1, c2, c3;
c1=counter11;
c2=counter22;
c3=0;
while(c1<=counter12 && c2<=counter21)
(
if(val(c1) temp_val(c3++)=val(c1++);
else
temp_val(c3++)=val(c2++);
)
while(c1<=counter12)
temp_val(c3++)=val(c1++);
while(c2<=counter21)
temp_val(c3++)=val(c2++);
for(c1=counter11, c2=0;c1<=counter21;c1++, c2++)
val(c1)=temp_val(c2);
)
#include
void algo_merge_sort(int val(), int counter1, int counter2);
void perfrom_merge(int val(), int counter11, int counter12, int counter22, int counter21);
int main()
(
int val(100), chk, counter1;
printf("Please enter the total count of the elements that you want to sort: \n");
scanf("%d", &chk);
printf("Please input the elements that has to be sorted:\n");
for(counter1=0;counter1 scanf("%d", &val(counter1));
algo_merge_sort(val, 0, chk-1);
printf("\n Output generated after using quick sort \n");
for(counter1=0;counter1 printf("%d ", val(counter1));
return 0;
)
void algo_merge_sort(int val(), int counter1, int counter2)
(
int mid;
if(counter1 (
mid=(counter1+counter2)/2;
algo_merge_sort(val, counter1, mid);
algo_merge_sort(val, mid+1, counter2);
perfrom_merge(val, counter1, mid, mid+1, counter2);
)
)
void perfrom_merge(int val(), int counter11, int counter12, int counter22, int counter21)
(
int temp_val(50);
int c1, c2, c3;
c1=counter11;
c2=counter22;
c3=0;
while(c1<=counter12 && c2<=counter21)
(
if(val(c1) temp_val(c3++)=val(c1++);
else
temp_val(c3++)=val(c2++);
)
while(c1<=counter12)
temp_val(c3++)=val(c1++);
while(c2<=counter21)
temp_val(c3++)=val(c2++);
for(c1=counter11, c2=0;c1<=counter21;c1++, c2++)
val(c1)=temp_val(c2);
)
#include
void algo_merge_sort(int val(), int counter1, int counter2);
void perfrom_merge(int val(), int counter11, int counter12, int counter22, int counter21);
int main()
(
int val(100), chk, counter1;
printf("Please enter the total count of the elements that you want to sort: \n");
scanf("%d", &chk);
printf("Please input the elements that has to be sorted:\n");
for(counter1=0;counter1 scanf("%d", &val(counter1));
algo_merge_sort(val, 0, chk-1);
printf("\n Output generated after using quick sort \n");
for(counter1=0;counter1 printf("%d ", val(counter1));
return 0;
)
void algo_merge_sort(int val(), int counter1, int counter2)
(
int mid;
if(counter1 (
mid=(counter1+counter2)/2;
algo_merge_sort(val, counter1, mid);
algo_merge_sort(val, mid+1, counter2);
perfrom_merge(val, counter1, mid, mid+1, counter2);
)
)
void perfrom_merge(int val(), int counter11, int counter12, int counter22, int counter21)
(
int temp_val(50);
int c1, c2, c3;
c1=counter11;
c2=counter22;
c3=0;
while(c1<=counter12 && c2<=counter21)
(
if(val(c1) temp_val(c3++)=val(c1++);
else
temp_val(c3++)=val(c2++);
)
while(c1<=counter12)
temp_val(c3++)=val(c1++);
while(c2<=counter21)
temp_val(c3++)=val(c2++);
for(c1=counter11, c2=0;c1<=counter21;c1++, c2++)
val(c1)=temp_val(c2);
)
#include
void algo_merge_sort(int val(), int counter1, int counter2);
void perfrom_merge(int val(), int counter11, int counter12, int counter22, int counter21);
int main()
(
int val(100), chk, counter1;
printf("Please enter the total count of the elements that you want to sort: \n");
scanf("%d", &chk);
printf("Please input the elements that has to be sorted:\n");
for(counter1=0;counter1 scanf("%d", &val(counter1));
algo_merge_sort(val, 0, chk-1);
printf("\n Output generated after using quick sort \n");
for(counter1=0;counter1 printf("%d ", val(counter1));
return 0;
)
void algo_merge_sort(int val(), int counter1, int counter2)
(
int mid;
if(counter1 (
mid=(counter1+counter2)/2;
algo_merge_sort(val, counter1, mid);
algo_merge_sort(val, mid+1, counter2);
perfrom_merge(val, counter1, mid, mid+1, counter2);
)
)
void perfrom_merge(int val(), int counter11, int counter12, int counter22, int counter21)
(
int temp_val(50);
int c1, c2, c3;
c1=counter11;
c2=counter22;
c3=0;
while(c1<=counter12 && c2<=counter21)
(
if(val(c1) temp_val(c3++)=val(c1++);
else
temp_val(c3++)=val(c2++);
)
while(c1<=counter12)
temp_val(c3++)=val(c1++);
while(c2<=counter21)
temp_val(c3++)=val(c2++);
for(c1=counter11, c2=0;c1<=counter21;c1++, c2++)
val(c1)=temp_val(c2);
)

Коли вищезазначений код запускається, він спочатку просить користувача вказати кількість елементів, які він хоче сортувати. Після подання числа їм потрібно буде надати значення рівних підрахунків, які вони надали спочатку. Після подання значень алгоритм буде зберігати ці значення в масиві і обробляє його для перетворення масиву в відсортований масив. Після того, як масив буде відсортований у порядку зростання, вихід буде показаний користувачеві.

Вихід:

5. Гіпсорт

  • Сортування купи може бути визначено як алгоритм сортування, який працює за допомогою пошуку максимального елемента у списку та розміщення його до останнього. Алгоритм виконує дію рекурсивно, поки масив не сортується у порядку зростання.
  • Дуже час забирати процес, щоб вибрати максимальне значення і перемістити його до останнього, і тому він розглядається як менш ефективний підхід до сортування, коли мова йде про сортування великого списку. Однак він прекрасно працює зі списком, який має обмежену кількість значень. Нижче наведено реалізацію цього алгоритму в мові програмування на C разом з результатами.

Код:

#include
void form(int ());
void set_down(int (), int);
int main()
(
int val(100), chk, counter, end, temp_val;
printf("Please enter the total count of the elements that you want to sort: \n");
scanf("%d", &chk);
printf("Please input the elements that has to be sorted:\n");
for(counter=1;counter<=chk;counter++)
scanf("%d", &val(counter));
val(0)=chk;
form(val);
while(val(0) > 1)
(
end=val(0);
temp_val=val(1);
val(1)=val(end);
val(end)=temp_val;
val(0)--;
set_down(val, 1);
)
printf("\n Output generated after using heap sort \n");
for(counter=1;counter<=chk;counter++)
printf("%d ", val(counter));
)
void form(int val())
(
int counter, chk;
chk=val(0);
for(counter=chk/2;counter>=1;counter--)
set_down(val, counter);
)
void set_down(int val(), int counter)
(
int counter2, temp_val, chk, flag=1;
chk=val(0);
while(2*counter<=chk && flag==1)
(
counter2=2*counter;
if(counter2+1 val(counter2))
counter2=counter2+1;
if(val(counter) > val(counter2))
flag=0;
else
(
temp_val=val(counter);
val(counter)=val(counter2);
val(counter2)=temp_val;
counter=counter2;
)
)
)

Робота цього алгоритму така ж, як і у інших алгоритмів сортування, оскільки він також сортує список у порядку зростання. Коли вищезаписаний код запускається, користувач повинен подати кількість значень, які він буде сортувати. Після подання значень код обробляє їх, щоб перетворити масив у відсортований. Результат буде показаний у підсумку, і можна помітити, що подані користувачем значення сортуються у порядку зростання.

Вихід:

6. Сортування вставки

  • Сортування вставки може бути визначено як алгоритм сортування, який працює, переміщуючи мінімальне значення на початку списку по одному. Це дуже менш ефективний алгоритм сортування і не підходить для роботи з великим списком.
  • Такий підхід до сортування алгоритму працює дуже повільно і зазвичай не є переважним у жодному із застосувань. Це може добре працювати зі списком, який містить досить мало елементів. Для програм, які мають вимогу обробити декілька цифр значень, можна використовувати цей алгоритм.

Код:

#include
int main()
(
int counter1, counter2, chk, temp_val, val(100);
printf("Please enter the total count of the elements that you want to sort: \n");
scanf("%d", &chk);
printf("Please input the elements that has to be sorted:\n");
for(counter1=0;counter1 (
scanf("%d", &val(counter1));
)
for(counter1=1;counter1<=chk-1;counter1++)
(
temp_val=val(counter1);
counter2=counter1-1;
while((temp_val=0))
(
val(counter2+1)=val(counter2);
counter2=counter2-1;
)
val(counter2+1)=temp_val;
)
printf("\n Output generated after using insertion sort \n");
for(counter1=0;counter1 (
printf("%d ", val(counter1));
)
return 0;
)
#include
int main()
(
int counter1, counter2, chk, temp_val, val(100);
printf("Please enter the total count of the elements that you want to sort: \n");
scanf("%d", &chk);
printf("Please input the elements that has to be sorted:\n");
for(counter1=0;counter1 (
scanf("%d", &val(counter1));
)
for(counter1=1;counter1<=chk-1;counter1++)
(
temp_val=val(counter1);
counter2=counter1-1;
while((temp_val=0))
(
val(counter2+1)=val(counter2);
counter2=counter2-1;
)
val(counter2+1)=temp_val;
)
printf("\n Output generated after using insertion sort \n");
for(counter1=0;counter1 (
printf("%d ", val(counter1));
)
return 0;
)
#include
int main()
(
int counter1, counter2, chk, temp_val, val(100);
printf("Please enter the total count of the elements that you want to sort: \n");
scanf("%d", &chk);
printf("Please input the elements that has to be sorted:\n");
for(counter1=0;counter1 (
scanf("%d", &val(counter1));
)
for(counter1=1;counter1<=chk-1;counter1++)
(
temp_val=val(counter1);
counter2=counter1-1;
while((temp_val=0))
(
val(counter2+1)=val(counter2);
counter2=counter2-1;
)
val(counter2+1)=temp_val;
)
printf("\n Output generated after using insertion sort \n");
for(counter1=0;counter1 (
printf("%d ", val(counter1));
)
return 0;
)

Коли програма запускається, користувачеві доведеться ввести кількість значень, які їм потрібно сортувати. Після цього введені користувачем значення зберігатимуться у масиві. Потім вони підлягають обробці, і за допомогою циклу та перевірки стану мінімальне значення буде переміщене на початок у кожній рекурсії та в кінці, генеруючи відсортований масив. Значення будуть відображатися користувачеві в кінці програми.

Вихід:

Висновок

Алгоритм сортування використовується для генерації відсортованого списку, який є нормальним списком, де всі значення сортуються певним чином. Цей список дуже часто використовується в реальній програмі, щоб принести деякі функції. У цій статті ми висвітлювали сортування міхурів, сортування вибору та швидкий вибір, хоча існує також декілька інших алгоритмів, таких як сортування злиття, які можна використовувати для створення відсортованого списку. Серед усіх алгоритмів сортування quicksort працює дуже швидко і допомагає сортувати список дуже швидко. Програми, написані тут, в основному реалізують ці алгоритми сортування за допомогою мови програмування C. Якщо ви готові реалізувати те саме в інших мовах програмування, ви можете використовувати ту саму логіку, і єдине, що може відрізнятися, - це синтаксис та ключові слова.

Рекомендована стаття

Це керівництво по сортуванню в C. Тут ми обговорюємо вступ до сортування за С та різних типів сортування разом із зразком коду. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -

  1. Шаблони в програмуванні на С
  2. Паліндром у програмі С
  3. Об’єднати сортування в Java
  4. Вступ до сортування в R
  5. Вступ до сортування в C ++
  6. Огляд сортування в PHP
  7. Сортування купи в Python
  8. Функція сортування в Python за допомогою прикладів