Сортировка массива по возрастанию метод пузырька - C (СИ)
Формулировка задачи:
подскажите так или не то совсем
а этот метод в С++ как его переделать на Си
#include <iostream> #include <stdlib.h> using namespace std; int a[10],tmp; for (int i=0;i<9;i++) { a[i] = rand()%100; cout << a[i] << "\t"; } for (int i=0;i<9;i++) for (int j=0; j<9;j++) if (a[j] > a[j+1]) { ////рассматривается алгоритм сортировки по возрастанию tmp = a[j]; a[j] = a[j+1]; a[j+1] = tmp; } cout << "\nОтсортированный массив: \n"; for (int i=0;i<9;i++) сout << a[i] << "\t"; cout << "\n";
#include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { int arr[6] = {35, 8, 74, 1, 67, 7},i, flag; for (;;){ flag = 0; for (i = 5; i>0; i--){ if (arr[i] < arr[i-1]) { swap (arr[i],arr[i-1]); flag++; } } if (flag == 0) break; } return 0; }
Решение задачи: «Сортировка массива по возрастанию метод пузырька»
textual
Листинг программы
#include <stdio.h> void bubble_sort(int *data, int size) { int i, j; for (i = 0; i < size; ++i) { for (j = size - 1; j > i; --j) { if (data[j] < data[j-1]) { int t = data[j - 1]; data[j - 1] = data[j]; data[j] = t; } } } } int main() { int i = 0; int data[] = { 5, 3, -1, 9, 0 }; bubble_sort(data, sizeof(data)/sizeof(data[0])); for (i = 0; i < sizeof(data)/sizeof(data[0]); ++i) { printf("%d ", data[i]); } return 0; }
Объяснение кода листинга программы
- Подключение стандартной библиотеки для работы с файлами и вывода данных (stdio.h).
- В функции bubble_sort() происходит сортировка массива методом пузырька.
- Два вложенных цикла:
- Первый цикл перебирает все элементы массива от начала до конца.
- Второй цикл перебирает все элементы массива от конца до начала (для каждого элемента, начиная с последнего, проверяется, больше ли он следующего элемента).
- Если текущий элемент больше следующего, то они меняются местами.
- В функции main() создается массив data[] со значениями {5, 3, -1, 9, 0}.
- Вызывается функция bubble_sort() для сортировки массива data[].
- Результат сортировки выводится на экран через цикл for и функцию printf().
- Возврат 0 из функции main() означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д