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

Быстрая сортирвока методом Хоара с использованием индексного массива - C++

Восстановить пароль Регистрация
 
Laertik
0 / 0 / 0
Регистрация: 19.05.2013
Сообщений: 19
19.05.2013, 17:15     Быстрая сортирвока методом Хоара с использованием индексного массива #1
Есть структура - и эту структуру надо отсортировать по b QuickSortom'ом.

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
51
52
53
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <conio.h>
#include <string.h>
#include <iostream> 
struct BaseRec
{
    char a[30];
    unsigned short int b;
    char c[10];
    char d[22];
    
};
void BuildQuickByInvestions(BaseRec *base, int *a, int start, int end)
{
    BaseRec x = base[a[start]];
    int i = start,j = end,temp;
    while(i<=j)
    {
        while(base[a[i]].b < x.b) i++;
        while(base[a[j]].b > x.b) j--;
        if (i<=j) 
        {
        temp = a[i];
        a[i] = a[j];
        a[j] = temp;
        i++;
        j--;
        }
    
    if ( start<j ) BuildQuickByInvestions ( base, a, start, j );
    if ( i<end ) BuildQuickByInvestions ( base, a, i, end);
}
}
 main()
    FILE *base = fopen("testBase3.dat","rb");
    int i = 0, *indexArr;
    indexArr = new int[4000];
    for(i = 0;i < 4000; i++)
    indexArr[i] = i;
    if(base == NULL)
    {
        std::cout << "ERROR_1";
        //return;
    }
    BaseRec *temp = new BaseRec[4000];
    i=0;
    fread(temp,sizeof(BaseRec),4000,base);
    BuildHeapByInvestions(temp,indexArr,2000-1,4000);
 
    getch();
    }
Файл с записями существет.В нем есть 4000 записей.

При запуске ничего не выдает - запускается консоль и сразу ошибка.
Укажите,пожалуйста,где ошибка.

Добавлено через 1 час 42 минуты
ап!

Добавлено через 1 час 38 минут
ап!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2013, 17:15     Быстрая сортирвока методом Хоара с использованием индексного массива
Посмотрите здесь:

Быстрая сортировка с внутренней досортировкой небольших частей методом вставки C++
Быстрая сортировка Хоара C++
C++ Написать функцию, которая сортирует вещественный массив методом Хоара
C++ Быстрая сортировка Хоара без рекурсивных функций
C++ Ошибки в программе сортировки Хоара двумерного массива в С++
C++ Быстрая сортировка двумерного массива
Быстрая сортировка двумерного массива C++
C++ Быстрая сортировка массива

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 06:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru