Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

{C++ билдер } Сортировка.

7.4K
24 мая 2007 года
Nook
65 / / 17.01.2007
ЗРАСТВУЙТЕ.ПОМОГИТЕ ПОЖАЛУЙСТА разработать программу сортирующюю набор символов заданный пользователем при сортировке использовать не менее трех алгоритмов.




:confused: :confused:
242
24 мая 2007 года
Оlga
2.2K / / 04.02.2006
1 - использовать Поиск по форуму
2 - http://www.codenet.ru/cat/Applications/Algorithms/Sorting/
3 - algolist.manual.ru (в Полезных ссылках смотрим сайты)
17K
26 мая 2007 года
realman
16 / / 18.01.2007
ОЙ тоже хочется знать ответ на этот вопросик. Так интересно:confused:
320
26 мая 2007 года
m_Valery
1.0K / / 08.01.2007
Цитата: Nook
ЗРАСТВУЙТЕ.ПОМОГИТЕ ПОЖАЛУЙСТА разработать программу сортирующюю набор символов заданный пользователем при сортировке использовать не менее трех алгоритмов.
...


Не совсем понятно зачем 3 алгоритма для сортировки 1 последовательности символов ? :eek: Ну разве чтоб посмотреть как каждый из них работает,имхо.Используем быструю сортировку,пузырек и сортировку вставками.1-ым шагом сортируем первую треть массива,2-м - 2\3 массива и последним сортируем весь массив.1-й и 2-й шаг все равно не имеют смысла,всю последовательность можно отсортировать сразу.Может я чего то не понял ?

Код:
#include <iostream>
using namespace std;
void insertionSort(char *a,int length);
void BSort(char *a, int length);
void QSort(char *a,int first,int last);
int _tmain(int argc, _TCHAR* argv[])
{
    const int size = 10;
    char mass[size] = {'9','4','3','7','1','5','8','2','0','6'};
    for(int i = 0;i < size;++i)
        cout<<mass<<' ';
    cout<<endl;
    cout<<"After Quick Sort ; 0 - 3 position "<<endl;
    QSort(mass,0,size - 7);
    for(int i = 0;i < size;++i)
        cout<<mass<<' ';
    cout<<endl;
    cout<<"After Buble Sort ; 0 - 6 position "<<endl;
    BSort(mass,size - 3);
     for(int i = 0;i < size;++i)
        cout<<mass<<' ';
    cout<<endl;
    cout<<"After Insert Sort ; 0 - 9 position "<<endl;
    insertionSort(mass,size);
    for(int i = 0;i < size;++i)
        cout<<mass<<' ';
    cout<<endl;
    return 0;
}
void insertionSort(char *a,int length)
{
    int key,i;
    for(int j = 1;j<length;++j){
     key = a[j];
     i = j - 1;
     while(a > key&&i >= 0){
      a[i+1] = a;
      --i;
     }
      a[i+1] = key;
    }
}
void BSort(char *a, int length)
{
    bool flag = true;      
    int i, j;
    char temp;
    for (j = 1; ; j++)
    {  
       for(i = 0; i < length - j; i++)     
         if (a > a[i + 1])
         {
        temp = a;
        a = a[i + 1];
        a[i + 1] = temp;
        flag = false;
         }
            if(flag)       
              break;   
        flag = true;
     }
}
void QSort(char *a,int first,int last)
{
   if(first < last)
   {
      int i;
      int j;
      char temp;    
      int point;    
      point = a[first];
      i = first;
      j = last;
      while(i < j)
      {
         while(a <= point && i < last)
            i++;
         while(a[j] >= point && j > first)
            j--;
         if(i < j)
         {
            temp = a;
            a = a[j];
            a[j] = temp;
         }
      }
      temp = a[first];
      a[first] = a[j];
      a[j] = temp;
      QSort(a, first, j - 1);
      QSort(a, j + 1, last);
   }
}
9
26 мая 2007 года
Lerkin
3.0K / / 25.03.2003
2m_Valery: А теперь тоже самое, но для Билдера. ;)
320
26 мая 2007 года
m_Valery
1.0K / / 08.01.2007
Цитата: Lerkin
2m_Valery: А теперь тоже самое, но для Билдера. ;)


Почти все то же самое,язык то один;) По памяти,должно быть так,если не прав поставлю сейчас Builder 6 и проверю...:)

 
Код:
#include <iostream.h>
#include <stdio.h>
//....ф-ии те же
void main(){
//...код
}
// Ф-ии те же
7.8K
27 мая 2007 года
Hrew
185 / / 23.04.2007
Цитата: m_Valery
Почти все то же самое,язык то один;) По памяти,должно быть так,если не прав поставлю сейчас Builder 6 и проверю...:)


Думаю автор топика пишет все же GUI приложение, а не консольное. Поэтому не все то же самое. Функции сортировки оставляем без изменений. Iostream и stdio не нужны. То, что выполнялось в main(), засунуть в обработчик кнопки. Ну и заменить cout вывод в элементы формы, например Memo или StringGrid.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог