Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.76
tysie
0 / 0 / 0
Регистрация: 02.03.2012
Сообщений: 6
#1

сортировка пузырьковым методом - C++

27.03.2012, 16:35. Просмотров 2950. Ответов 3
Метки нет (Все метки)

Народ, просветите плиз


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 #include <iostream>
 #include <cstdlib>
 using namespace std;
 int main ()
 {
 int nums [10];
 int a,b,t;
 int size;
 
 size = 10;
 
 for (t=0;t<size;t++) nums[t]=rand (); 
 cout << "Ishodnuq masiv:";
 for (t=0;t<size;t++) cout << nums[t] << " " ; 
 cout << "\n";
 for (a=1;a<size;a++) 
 for (b=size-1;b>=a;b--){ 
 if (nums[b-1] > nums[b]){ 
 t=nums [b-1];
 nums[b-1]=nums[b];
 nums [b]=t;
 }
 }
 cout << "Otsortirovannuq massiv:";
 for (t=0;t<size;t++) cout << nums[t] << " ";
 getchar ();
 return 0;
 }
В строке 18 идет условие , когда элементы могут находиться не по порядку. Далее, в строке 19 nums[b-1] присваивается переменной t.
Тут же nums[b-1] приравнивается nums[b]; Потом nums[b] приравниваетя переменной t. Ведь (строка 19) nums[b-1] уже присвоена переменной t.

Вообщем, объясните плиз подробней строки 19 - 25. Буду благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2012, 16:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос сортировка пузырьковым методом (C++):

Сортировка массива пузырьковым методом и методом вставки - C++
нужно написать программу которая будет делать сортировку этими способами в массиве 3x10, две кнопки, таблица (3х10), собственно...

Сортировка пузырьковым методом - C++
На вход подается некоторое количество описаний книг (автор, название, количество страниц). Отсортировать и вывести в алфавитном порядке по...

Сортировка методом выбора и методом пузырьков - C++
Доброго времени суток, форумчане). Я не спец в программировании, сразу говорю). Нам с другом дали задание сравнить эти 2 сортировке ( в...

Быстрая сортировка (сортировка методом Хоара) - C++
Ввести массив x1,x2,...,x20 в диапазоне . Требуется расположить отрицательные элементы в порядке убывания. Вывести массивы до и после...

Отсортировать массив тремя способами: пузырьковым, выборкой, вставками - C++
написать програму где даётся не отсортированная последовательность в массиве,нужно отсортировать 3 способами...

Сортировка методом Шейкера - C++
помогите найти и исправить ошибку плиз (компилятор DevCpp) вот задание: Написать программу, которая методом шейкера сортирует...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Duha666
51 / 51 / 5
Регистрация: 10.03.2012
Сообщений: 138
27.03.2012, 16:37 #2
В этих строках просто происходит обмен значений между nums[b] и nums[b - 1]
C++
1
2
3
t=nums [b-1];
nums[b-1]=nums[b];
nums [b]=t;
Vega251
290 / 93 / 3
Регистрация: 07.09.2011
Сообщений: 477
Записей в блоге: 2
27.03.2012, 16:39 #3
Перменная t выступает буфером, без которого обмен не будет осуществлен. Без него пришлось бы делать через xor (^ в Си), что сильно сказалось бы на производительности и так медленного алгоритма.
tysie
0 / 0 / 0
Регистрация: 02.03.2012
Сообщений: 6
30.03.2012, 15:29  [ТС] #4
Спасибо всем!
Разобрался
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.03.2012, 15:29
Привет! Вот еще темы с ответами:

Сортировка методом Хоара - C++
Дали задание 1. Пусть дано массив a1, a2, ..., an. Необходимо переставить его элементы так, чтобы сначала шла группа элементов, больших...

Сортировка методом Пузырька - C++
Сортировка методом Пузырька!!! Эта программа мне нужна на курсовую - помогите сделать! Если можно не самую простую!!!:help:

Сортировка методом вставок - C++
Заполнить массив размером 20 случайными числами в диапазоне от 0 до 200. Во второй массив выбрать все двузначные элементы, отсортировать...

сортировка методом Бетчера - C++
Напишите алгоритм сортировки массива структур методом Бетчера


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
30.03.2012, 15:29
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru