#ifndef QWORKER_H #define QWORKER_H #include #include #include class QWorker : public QObject { Q_OBJECT public: explicit QWorker(QString _name, QObject *parent = nullptr); ~QWorker(); volatile bool stop; public slots: void mergeSort(QVector _data); void bubbleSort(QVector _data); void quickSort(QVector _data); signals: void workerFinished(QString name, QVector data, int msecs); private: QVector mergeSortBody(QVector data); QVector mergeBody(QVector left, QVector right); void quickSortBody(QVector &data, int start = 0, int end = -1); int quickSortPart(QVector &data, int start, int end); private: QString name; QVector data; private: // sort sub }; #endif // QWORKER_H