当前位置: 首页 > news >正文

做网站如何分类产品企业网站设计沈阳

做网站如何分类产品,企业网站设计沈阳,网站图片多大,html网站分页怎么做的1.相关描述 随机生产1000个数字#xff0c;然后进行冒泡排序与快速排序。随机生成类继承QThread类、冒泡排序使用moveToThread方法添加到一个线程中、快速排序类继承QRunnable类#xff0c;添加到线程池中进行排序。 2.相关界面 3.相关代码 widget.cpp #include widget…1.相关描述 随机生产1000个数字然后进行冒泡排序与快速排序。随机生成类继承QThread类、冒泡排序使用moveToThread方法添加到一个线程中、快速排序类继承QRunnable类添加到线程池中进行排序。 2.相关界面 3.相关代码 widget.cpp #include widget.h #include ui_widget.h #include tgeneratenum.h #include tbubblesort.h #include tquicksort.h #include QDebug #include QThreadPoolWidget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui-setupUi(this);qDebug() 主线程 QThread::currentThread();/******************** 多线程的使用方法一 ****************/TGenerateNum *gen new TGenerateNum; // 继承QThread类/******************* 多线程的使用方法二 **********************/QThread *bubbleThread new QThread;TBubbleSort *bubble new TBubbleSort;bubble-moveToThread(bubbleThread);/******************* 多线程的使用方法三 线程池的使用 **********************/TQuickSort *quicksort new TQuickSort;QThreadPool::globalInstance()-setMaxThreadCount(10);// 按钮的信号槽connect(ui-btnStart, QPushButton::clicked, this, [](){gen-setCnt(10000);gen-start();});// 生成随机数connect(gen, TGenerateNum::sendList, this, [](QVectorint list){quicksort-setList(list);QThreadPool::globalInstance()-start(quicksort);bubbleThread-start(); // 开启冒泡排序线程for(int i 0; i list.size(); i){ui-listWidgetGenerate-addItem(QString::number(list[i]));}});connect(gen, TGenerateNum::sendList, bubble, TBubbleSort::working);connect(bubble, TBubbleSort::sendList, this, [](QVectorint list){for(int i 0; i list.size(); i){ui-listWidgetBubbleSort-addItem(QString::number(list[i]));}});connect(quicksort, TQuickSort::sendList, this, [](QVectorint list){for(int i 0; i list.size(); i){ui-listWidgetQuickSort-addItem(QString::number(list[i]));}});// 释放内存connect(this, Widget::destroyed, this, [](){gen-quit();gen-wait();gen-deleteLater();bubbleThread-quit();bubbleThread-wait();bubbleThread-deleteLater();bubble-deleteLater();}); }Widget::~Widget() {delete ui; }生成随机数 tgeneratenum.h #ifndef TGENERATENUM_H #define TGENERATENUM_H#include QObject #include QThreadclass TGenerateNum : public QThread {Q_OBJECT public:TGenerateNum(QObject *parentnullptr);void setCnt(qint32 cnt);// QThread interface protected:void run() override; signals:void sendList(QVectorint list);private:qint32 m_cnt; }; #endif // TGENERATENUM_H tgeneratenum.cpp #include tgeneratenum.h #include QRandomGenerator #include QVector #include QElapsedTimer #include QDebugTGenerateNum::TGenerateNum(QObject *parent):QThread(parent) {}void TGenerateNum::setCnt(qint32 cnt) {m_cnt cnt; }void TGenerateNum::run() {qDebug() 生成随机数线程地址: QThread::currentThread();QElapsedTimer time;time.start();QVectorint list;for(int i 0; i m_cnt; i){int num QRandomGenerator::global()-bounded(100000);list.push_back(num);}int milsec time.elapsed();qDebug() 生成 m_cnt 个随机数总共用时 milsec 毫秒;emit sendList(list); }生成随机数需要加时间种子 冒泡排序 tbubblesort.h #ifndef TBUBBLESORT_H #define TBUBBLESORT_H#include QObjectclass TBubbleSort : public QObject {Q_OBJECT public:explicit TBubbleSort(QObject *parent nullptr);void working(QVectorint list); signals:void sendList(QVectorint list); private:void bubbleSort(QVectorint list);QVectorint m_list; };#endif // TBUBBLESORT_H tbubblesort.cpp #include tbubblesort.h #include QElapsedTimer #include QDebug #include QThreadTBubbleSort::TBubbleSort(QObject *parent): QObject{parent} {}void TBubbleSort::working(QVectorint list) {qDebug() 冒泡线程地址: QThread::currentThread();QElapsedTimer time;time.start();this-bubbleSort(list);int milsec time.elapsed();qDebug() 冒泡排序总共用时 milsec 毫秒;emit sendList(list); }void TBubbleSort::bubbleSort(QVectorint list) {for (int i 0; i list.size(); i){for (int j 1; j list.size()-i; j){if (list[j - 1] list[j]){int temp list[j - 1];list[j - 1] list[j];list[j] temp;}}} } 快速排序 tquicksort.h #ifndef TQUICKSORT_H #define TQUICKSORT_H#include QObject #include QRunnableclass TQuickSort : public QObject, public QRunnable {Q_OBJECT public:explicit TQuickSort(QObject *parent nullptr);void setList(QVectorint list); signals:void sendList(QVectorint list);// QRunnable interface public:void run() override; private:void quick_sort(QVectorint list, int l, int r);QVectorint m_list; };#endif // TQUICKSORT_Htquicksort.cpp #include tquicksort.h #include QElapsedTimer #include QDebug #include QThread TQuickSort::TQuickSort(QObject *parent): QObject{parent}, QRunnable() {// 开启自动回收由线程池回收对象资源setAutoDelete(true); }void TQuickSort::setList(QVectorint list) {m_list list; }void TQuickSort::run() {qDebug() 快排线程地址: QThread::currentThread();QElapsedTimer time;time.start();this-quick_sort(m_list, 0, m_list.size());int milsec time.elapsed();qDebug() 快速排序总共用时 milsec 毫秒;emit sendList(m_list); }void TQuickSort::quick_sort(QVectorint list, int l, int r){//如果小于等于1个数据元素·直接返回结束快排函数 r为数组元素总个数if(l1 r){return ;}int first l, last r-1, key list[first];while(first last){while(first last list[last] key){--last;}//如果值小于 key分界值 交换list[first] list[last];while(first last list[first] key){first;}//如果值大于key分界值 交换list[last] list[first];}list[first] key;//递归左右部分进行快排quick_sort(list, l, first);quick_sort(list, first1, r); }
http://www.dnsts.com.cn/news/93677.html

相关文章:

  • 成都网站模板购买网络推广员为什么做不长
  • 宜章网站建设谷歌收录查询
  • 建设监理协会官方网站wordpress 模块化主题
  • 阿里云nas做网站芜湖网站建设芜湖
  • a5网站建设响应式布局的优点是什么
  • 江西建设监督网站郑州企业网站排名优化
  • 网站开发范围说明书wordpress如何搭建一个购物网站
  • 苏州建站公司哪个好手机营销推广方案
  • 武昌区建设局网站网站开发公司哪里寻找客源
  • 做网站公司叫什么一二三类医疗器械目录
  • 建网站的详细案例访问的网页正在升级中
  • php网站商城源码口碑好的赣州网站建设
  • 广州制作网站公司哪家好html网页制作颜色代码
  • 做网站流行的接加工订单的网站
  • 网站建设与维护学什么科目手机网站宽度自适应
  • 做网站视频一般上传到哪里中国十大做网站公司排名
  • 水果网站模板phpcms中的网站介绍页
  • 山东省建设厅继续教育网站谷歌网站流量分析
  • 长沙网站建设网站网络运维工程师工作内容
  • 多个网站集成在一个页面网站建设公司公司
  • 提示网站正在建设中外贸电商网站设计
  • 上海国际建设总承包公司网站广州平面设计培训机构
  • 邮箱网站怎么做产品开发的流程
  • 韩国网站免费观看wordpress如何让导航居中
  • dede织梦仿站网站建设wordpress 媒体库函数
  • 企业网站ui设计欣赏网页制作ppt模板
  • 房产网站系统源码茶叶网页设计模板图片
  • 蓝色商务网站模板苏州吴江做网站公司
  • 设计分享网站wordpress能仿站吗
  • 网站描述更改wordpress uncategorized