2015-01-04 2 views
0

Я хочу реализовать сортировку сортировки, чтобы отсортировать время отправления рейсов, но оно не выводит мне результат (и я не уверен, что это будет правильно). Извините за долгий и глупый вопрос, я новичок в программировании. Вот код, который я сделал сейчас:Реализация выбора сортировки с использованием списка C++

// Sort class 
class Sort 
{ 
protected: 
    // number of comparisons performed in sort function 
    unsigned long num_cmps; 

public: 
    // main entry point 
    virtual void sort(std::vector<Flight>& data) = 0; 
    // returns false if not sorted true otherwise 
    bool testIfSorted(const std::vector<Flight>& data); 
    // returns number of comparisons 
    unsigned long getNumCmps(); 
    // resets the number of comparisons 
    void resetNumCmps(); 
}; 

// SelectionSort class 
class SelectionSort : public Sort 
{ 
public: 
    // main entry point 
    void sort(std::vector<Flight>& data); 
}; 

// BubbleSort class 
class BubbleSort : public Sort 
{ 
public: 
    // main entry point 
    void sort(std::vector<Flight>& data); 
}; 

#include "Sort.h" 

using namespace std; 


unsigned long Sort::getNumCmps() 
{ 
    return num_cmps; 
} 


void Sort::resetNumCmps() 
{ 
    num_cmps = 0; 
} 

void Menu::selection_sort(){ 
    system("cls"); 
    ifstream in("inputFileExample.txt"); 
    if (!in) 
    { 
     cerr << "ERROR: wrong input file name!"; 
     exit(-1); 
    } 
    SelectionSort(); 
} 

void SelectionSort::sort(std::vector<Flight>& data){ 
    for (int i = 0; i < (num_cmps - 1); i++) 
    { 
    int smallest = i; 
     for(int j = (i+1); j<num_cmps; j++) 
     { 
      if(data[j] < data[smallest]) 
      { 
       smallest = j; 
      } 
     } 
    num_cmps++; 
    cout << num_cmps; 
    } 
} 
+0

где ваш 'главный' – mangusta

+1

Ну, * do * вы печатаете результат где угодно? –

+0

Пробовал печатать его в SelectionSort(), и я назвал сортировку выбора в меню :: selection_sort(), но ничего не отображается независимо от того, что я пытаюсь сделать, даже не «Hello world». Главное меню, я его не публиковал, потому что это не имеет отношения к коду для работы. – Lianna

ответ

0

Это утверждение

SelectionSort(); 

создает временный объект типа SelectionSort, и это все.

Вы на самом деле не читаете что-нибудь из файла, у вас нет вектора для сортировки, вы не вызываете функцию сортировки.

+0

Спасибо, что сделал работу. :) – Lianna

Смежные вопросы