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

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

Войти
Регистрация
Восстановить пароль
 
Vergil
42 / 36 / 14
Регистрация: 11.11.2009
Сообщений: 243
#1

Сортировка. - C++

03.06.2010, 13:34. Просмотров 381. Ответов 2
Метки нет (Все метки)

Сортировка.
1.Написать параметризованную функцию пузырьковой сортировки. Вызвать ее для трех различных типов данных.
Написать-то я cписал с методички. Для char. а нужно еще для int и адщфе
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
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
template <class cl>void bubble(cl *item,int count) // Сортировка пузырьковым методом
{ register int i,j;
  cl t;
  for(i=0;i<count;i++)
  {
    for(j=count-1;j>=i;--j)
    {
      if(item[j-1]>item[j])
      {
        t=item[j-1];
        item[j-1]=item[j];
        item[j]=t;}}}}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{}
 
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{ if(RadioGroup1->ItemIndex==1)
  {}
 
if(RadioGroup1->ItemIndex==2)
  {}
 
 if(RadioGroup1->ItemIndex==3)
  {char *str=Edit1->Text.Trim().c_str();
  int n=Edit1->Text.Length();
  str[n]='\0';
  bubble(str,(int)strlen(str));
  Edit2->Text=AnsiString(str);
  delete[] str;}}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{Close();}
//---------------------------------------------------------------------------
void __fastcall TForm1::RadioGroup1Click(TObject *Sender)
{}
//---------------------------------------------------------------------------
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2010, 13:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сортировка. (C++):

Сортировка Шелла. Написал программу, не могу понять, почему сортировка не выполняется - C++
Программа создает динамический массив с рандомным заполнением. Дальше выбор сортировок, пузырьком или сортировка Шелла. Вот она то и не...

Сортировка слиянием. В каком куске кода происходит сортировка и каким именно образом? - C++
Помогите, пожалуйста, разобраться. Подскажите в каком куске кода происходит сортировка и каким именно образом? #include &lt;iostream&gt; ...

Быстрая сортировка (сортировка Хоара) для связных списков - C++
есть у кого готовый алгоритм? или подскажите как реализовать

Быстрая сортировка(сортировка Хоара). Отсортировать фрагмент массива - C++
Мне нужно отсортировать фрагмент массива, расположенный между первым и последним отрицательным элементом. Немогу понять как устоновить...

Сортировка Шелла и пирамидальная сортировка для символов - C++
Здраствуйте, можете пожалуйста привести пример сортировок шелла и пиромидальной сортировки для символов, а то ничего не могу ...

C/C++ FAQ :: Быстрая сортировка (сортировка Хоара) - C++
Вопрос, скорее академический, по мотивам реализации. Вот в faq приведена реализация этого метода сортировки на C++. В коде есть следующий...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Aaxenon
Light Knight
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
03.06.2010, 13:58 #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
#include <iostream>
using namespace std;
template<class T>
void myswap(T &a, T &b)
{
    a+=b;
    b=a-b;
    a-=b;
}
template<class T>
void sort(int *p, int n)
{
    for(int i=n-1;i>0;i--)
    {
    for(int j=0;j<i;j++)
        {
        if(p[j]>p[j+1])
            myswap<T>(p[j], p[j+1]);
        }
    }
}
int main()
{
    int *p, n;
    n = 5;
    p = new int[n];
    p[0] = 10;
    p[1] = 3;
    p[2] = 14;
    p[3] = 7;
    p[4] = 4;
    sort<int>(p, n);
    for(int i=0;i<n;i++)
        cout << p[i] << endl;
    delete[] p;
    return 0;
}
вот шаблон, подстроенный под int, его же можно переделать в double
1
Vergil
42 / 36 / 14
Регистрация: 11.11.2009
Сообщений: 243
03.06.2010, 14:12  [ТС] #3
RoY_Mu$T@nG, спасибо огромное. Выручил. Пошел разбираться.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2010, 14:12
Привет! Вот еще темы с ответами:

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

2 сортировки: пирамидальная сортировка и сортировка слиянием - C++
Реализовать два улучшенных алгоритма сортировки. Для каждого алгоритма вычислить показатель качества сортировки (количество операций, т.е....

Сортировка вектора по полю(Сортировка вставками) - C++
Здравствуйте! Нужно написать сортировку вектора по полю weight класса tomato. Вот класс: #pragma once #include &lt;iostream&gt; ...

Шейкерная сортировка + сортировка слиянием - C++
вот часть когда,которая выполняет шейкерную сортировку : для символьного и целочисленого массива . // ConsoleApplication15.cpp:...


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

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

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