Сортировка массива в языке программирования C

Конечно, я могу предоставить вам развернутый ответ на вопрос о сортировке массива в языке программирования C, включая примеры кода.

Сортировка массива в C - это процесс упорядочивания элементов массива по определенному критерию или правилу. В C существует несколько алгоритмов сортировки, наиболее распространенными из которых являются сортировка пузырьком (Bubble Sort), сортировка вставками (Insertion Sort), сортировка выбором (Selection Sort) и быстрая сортировка (Quick Sort).

Примеры кода для различных алгоритмов сортировки в языке C:

1. Сортировка пузырьком (Bubble Sort):


#include <stdio.h>

void bubbleSort(int arr[], int n) {
   int i, j;
   for (i = 0; i < n-1; i++) {
       for (j = 0; j < n-i-1; j++) {
           if (arr[j] > arr[j+1]) {
               int temp = arr[j];
               arr[j] = arr[j+1];
               arr[j+1] = temp;
           }
       }
   }
}

int main() {
   int arr[] = {64, 34, 25, 12, 22, 11, 90};
   int n = sizeof(arr)/sizeof(arr[0]);
   bubbleSort(arr, n);
   printf("Отсортированный массив: \n");
   for (int i=0; i < n; i++)
       printf("%d ", arr[i]);
   return 0;
}

2. Сортировка вставками (Insertion Sort):


#include <stdio.h>

void insertionSort(int arr[], int n) {
   int i, key, j;
   for (i = 1; i < n; i++) {
       key = arr[i];
       j = i-1;
       while (j >= 0 && arr[j] > key) {
           arr[j+1] = arr[j];
           j = j-1;
       }
       arr[j+1] = key;
   }
}

int main() {
   int arr[] = {12, 11, 13, 5, 6};
   int n = sizeof(arr)/sizeof(arr[0]);
   insertionSort(arr, n);
   printf("Отсортированный массив: \n");
   for (int i=0; i < n; i++)
       printf("%d ", arr[i]);
   return 0;
}

3. Сортировка выбором (Selection Sort):


#include <stdio.h>

void selectionSort(int arr[], int n) {
   int i, j, min_idx;
   for (i = 0; i < n-1; i++) {
       min_idx = i;
       for (j = i+1; j < n; j++)
           if (arr[j] < arr[min_idx])
               min_idx = j;
       int temp = arr[min_idx];
       arr[min_idx] = arr[i];
       arr[i] = temp;
   }
}

int main() {
   int arr[] = {64, 25, 12, 22, 11};
   int n = sizeof(arr)/sizeof(arr[0]);
   selectionSort(arr, n);
   printf("Отсортированный массив: \n");
   for (int i=0; i < n; i++)
       printf("%d ", arr[i]);
   return 0;
}

4. Быстрая сортировка (Quick Sort):


#include <stdio.h>

void swap(int* a, int* b) {
   int t = *a;
   *a = *b;
   *b = t;
}

int partition(int arr[], int low, int high) {
   int pivot = arr[high];
   int i = (low - 1);
   for (int j = low; j <= high- 1; j++) {
       if (arr[j] < pivot) {
           i++;
           swap(&arr[i], &arr[j]);
       }
   }
   swap(&arr[i + 1], &arr[high]);
   return (i + 1);
}

void quickSort(int arr[], int low, int high) {
   if (low < high) {
       int pi = partition(arr, low, high);
       quickSort(arr, low, pi - 1);
       quickSort(arr, pi + 1, high);
   }
}

int main() {
   int arr[] = {10, 7, 8, 9, 1, 5};
   int n = sizeof(arr)/sizeof(arr[0]);
   quickSort(arr, 0, n-1);
   printf("Отсортированный массив: \n");
   for (int i=0; i < n; i++)
       printf("%d ", arr[i]);
   return 0;
}

Это лишь несколько примеров кода для разных алгоритмов сортировки массива на языке C. Вы можете использовать их в своих программах или обучающих целях, или применить другой алгоритм сортировки, который лучше подходит для вашей задачи.

Надеюсь, эти примеры помогут вам лучше понять, как работает сортировка массива на языке программирования C. Если у вас возникнут дополнительные вопросы, пожалуйста, не стесняйтесь задавать их.

Похожие вопросы на: "array sort c "

Reduce JS: эффективное сокращение JavaScript кода
Разработка, обучение и сертификация по IDL
Роял АПИ - инновационная платформа для разработки приложений
Рекурсия в Python
Скачать xinput1_4.dll бесплатно и исправить ошибки
Рекурсия в программировании
Get Dummies: освойте новые навыки с нами
Как заменить элемент в списке Python
Winsock: сетевое программирование в Windows
Partition by: преимущества и основные принципы разделения данных