Сортировка массива по возрастанию метод пузырька - 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() означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д