С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
SexPistols
0 / 0 / 0
Регистрация: 29.03.2010
Сообщений: 14
#1

Отсортировать половину массива - C++

31.03.2010, 07:21. Просмотров 325. Ответов 1
Метки нет (Все метки)

Отсортировать половину массива размером 20 методом вставок, а вторую половину – методом пузырьков.
Только вот что такое метод пузырьков я совсем не понел.... как и с чем его есть, ктото может обьяснить?
И как применить етот метод пузырьков в данной ситуации?
P.S.>> Подскажите какую нибудь хорошую литератуту (под словом "хорошую" я имел в виду понятную человеку который не разбераеться в програмировании) для того чтобы превратиться из нубо-програмиста в ламо-програмиста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2010, 07:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Отсортировать половину массива (C++):

Отсортировать первую половину массива по возрастанию, а вторую по убыванию - C++
Дан массив из четного числа элементов. Отсортировать первую половину этого массива по возрастанию, а вторую по убыванию. Как мне решить эту...

Отсортировать первую половину массива по возрастанию, а вторую по убыванию - C++
Программа не работает, помогите найти ошибку #include <cstdlib> #include <iostream> using namespace std; int irand(int a,int b)...

Дан массив из четного числа элементов. Отсортировать первую половину этого массива по возрастанию, а вторую по убыванию - C++
Дан массив из четного числа элементов. Отсортировать первую половину этого массива по возрастанию, а вторую по убыванию.Подскажите как ...

Удалить первую половину элементов из динамического массива, вторую половину поставить на место первой - C++
удалить первую половину елементов из динамического массива , а вторую половину вставить на место первой.

Как скопировать одну половину массива (количество элементов массива четноё) в другую? - C++
Допустим, есть массив с чётным количеством элементов. Каким образом я могу скопировать первую половину массива (то есть первые 5 элементов)...

Передать в массив I(5) вторую половину массива J(10). - C++
помогите:Передать в массив I(5) вторую половину массива J(10).

1
fasked
Эксперт С++
4951 / 2531 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
31.03.2010, 10:23 #2
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <cstdlib>
#include <iostream>
#include <iterator>
 
// Сортировка методом пузырька
template <typename array>
void sort_bubble_up(array * a, int l, int r)
{
    for(int i = l; i < r; i++)
        for(int j = r; j > i; j--)
            if(a[j-1] > a[j])
                std::swap(a[j-1], a[j]);
}
// Сортировка методом вставок
template <typename array>
void sort_insert_up(array * a, int l, int r)
{
    int i = 0;
    for(i = r; i > l; i--)
        if(a[i-1] > a[i])
            std::swap(a[i-1], a[i]);
    for(i = l + 2; i <= r; i++)
    {
        int j = i;
        array v = a[i];
        while(v < a[j-1])
        {
            a[j] = a[j-1];
            j--;
        }
        a[j] = v;
    }
}
    
int main()
{
    int size = 20;
    int a[size];
    
    for(int i = 0; i < size; ++i)
        a[i] = rand() % 9;
        
    std::copy(a, a+size, std::ostream_iterator<int>(std::cout, ", "));
    std::cout << std::endl;
    
    sort_insert_up(a, 0, size/2 - 1);
    sort_bubble_up(a, size/2, size - 1);
    
    std::copy(a, a+size, std::ostream_iterator<int>(std::cout, ", "));
}
Код
5, 8, 7, 4, 8, 1, 3, 0, 7, 2, 8, 2, 7, 6, 7, 5, 7, 8, 3, 0,
0, 1, 2, 3, 4, 5, 7, 7, 8, 8, 0, 2, 3, 5, 6, 7, 7, 7, 8, 8,
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2010, 10:23
Привет! Вот еще темы с ответами:

Поменять местами первую половину массива со второй - C++
Ввести массив, состоящий из 14 элементов действительного типа. Поменять местами первую половину со второй. Определить количество сделанных...

Поменять местами первую и вторую половину массива. - C++
Помогите решить задачки!!! 1) Дан массив размера n. Поменять местами первую и вторую половину массива. 2)Дана матрица размера mхn.Найти...

Функция сортирующая первую половину массива по убыванию, а вторую - по возрастанию - C++
Написать функцию, которая сортирует первую половину массива по убыванию, а вторую - по возрастанию, используя сортировку простыми...

Заполнить первую половину двумерного массива единицами, а вторую нулями - C++
дано два масиви дійсних чисел заповнити першу половину двомірного масиву розмірності n x n одиницями а другу 0. Даны 2 массива...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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