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

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

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

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

03.06.2010, 13:34. Просмотров 374. Ответов 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)
{}
//---------------------------------------------------------------------------
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2010, 13:34     Сортировка.
Посмотрите здесь:

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

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

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

Быстрая сортировка и Обменная сортировка - реализация API функции - C (СИ)
Всех приветствую! Делаю курсовой проект и появилась одна проблем-ка.... У меня есть готовые две программы(быстрая сортировка и Обменная...

Работа с простейшими массивами: 1)сортировка; 2)определение суммы и сортировка - C#
1)Класс описывает одномерный массив, состоящий из n целых элементов со значениями в диапазоне от (0 до 100). Методы класса должны: менять...

Сортировка пирамидой: Вычислить сколько шагов сделала сортировка - PascalABC.NET
Есть код сортировки пирамидой, как теперь вычислить сколько шагов сделала сортировка прежде чем программа закончила работу, желательно с...

Сортировка слиянием. трехленточная сортировка. считывание из файла - Delphi
Сделал только без считывания из файла, как это сделать. Нужна помощь. У меня считывается с клавы и записывается массив. Нужно переделать...

Сортировка вставками или пузырьковая сортировка? - Java SE
Здравствуйте! Подскажите пожалуйста, правильно ли что это код сортировки вставками или же это пузырьковая сортировка? for(int...

Быстрая сортировка (сортировка Хоара) - C#
Помогите, пожалуйста, мучаюсь второй день с быстрой сортировкой...:cry: И сразу показываю недоработанный код: int array = { 3, 0, 1, 8,...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
Vergil
42 / 36 / 14
Регистрация: 11.11.2009
Сообщений: 243
03.06.2010, 14:12  [ТС]     Сортировка. #3
RoY_Mu$T@nG, спасибо огромное. Выручил. Пошел разбираться.
Yandex
Объявления
03.06.2010, 14:12     Сортировка.
Ответ Создать тему
Опции темы

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