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

宝塔网站搭建教程seo关键词库

宝塔网站搭建教程,seo关键词库,培训机构不退费最有效方式,园林景观设计案例网站Qt编程指南 ■ 顺序容器类■ QList■ QVector■ QLinkedList■ QStack■ QQueue ■ 关联容器类■ QSet■ QMap■ QMultiMap■ QHash■ QMultiHash ■ 顺序容器类 ■ QList QList 比较常用的容器类#xff0c;以数组列表的形式实现#xff0c;在前、后添加数据非常快。以下为… Qt编程指南 ■ 顺序容器类■ QList■ QVector■ QLinkedList■ QStack■ QQueue ■ 关联容器类■ QSet■ QMap■ QMultiMap■ QHash■ QMultiHash ■ 顺序容器类 ■ QList QList 比较常用的容器类以数组列表的形式实现在前、后添加数据非常快。以下为常用方法。 QListQString list;插入insert() //list.insert(2, mm); // 在位置2插入项目 list aa bb cc; // 插入项目 删除removeAt(i) //i 是下标 删除第3个 QString str list.takeAt(2); // 从列表中删除第3个项目并获取它 替换replace() //替换第3个元素 list.replace(2, bc); 交换: swap() // list.swap(1,3); // 交换项目1和项目3 移动move() 添加append() // list.append(dd); // 在列表尾部添加 头部添加: prepend(mm) list.prepend(mm); // 在列表头部添加 包含: list.contains(mm); //列表中是否包含“mm” 列表包含某值个数: list.count(mm); 包含“mm”的个数 查找 : list.indexOf(mm); // 第一个“mm”的位置默认从位置0开始往前查找 返回第一个匹配的项目的位置 往前查找: list.indexOf(mm, 2); // 第二个“mm”的位置我们指定从位置1开始往前查找QListQString list; list A B C B A; list.indexOf(B); // returns 1 list.indexOf(B, 1); // returns 1 list.indexOf(B, 2); // returns 3 list.indexOf(X); // returns -1 bool QList::empty() const表为空则返回true list.begin(), list.end() for(int i0; ilist.size(); i) {qDebug() list.at(i); }QListint z; z 1234; // z对应的值z[0] 1;z[1] 2;z[2] 3;z[3] 4;QListint z; z 1234; z.removeAt(1); //删除下标为1后,z对应的值z[0] 1;z[1] 3;z[2] 4;#include QCoreApplication #include QList #include QDebugint main(int argc, char *argv[]){QCoreApplication a(argc, argv);QListQString list;list aa bb cc; // 插入项目if(list[1] bb) list[1] ab;list.replace(2, bc); // 将“cc”换为“bc”qDebug() the list is: ; // 输出整个列表for(int i0; ilist.size(); i){qDebug() list.at(i); // 现在列表为aa ab bc}list.append(dd); // 在列表尾部添加list.prepend(mm); // 在列表头部添加QString str list.takeAt(2); // 从列表中删除第3个项目并获取它qDebug() at(2) item is: str;qDebug() the list is: ;for(int i0; ilist.size(); i){qDebug() list.at(i); // 现在列表为mm aa bc dd}list.insert(2, mm); // 在位置2插入项目list.swap(1,3); // 交换项目1和项目3qDebug() the list is: ;for(int i0; ilist.size(); i){qDebug() list.at(i); // 现在列表为mm bc mm aa dd}qDebug() contains mm ? list.contains(mm); // 列表中是否包含“mm”qDebug() the mm count: list.count(mm); // 包含“mm”的个数// 第一个“mm”的位置默认从位置0开始往前查找返回第一个匹配的项目的位置qDebug() the first mm index: list.indexOf(mm);// 第二个“mm”的位置我们指定从位置1开始往前查找qDebug() the second mm index: list.indexOf(mm, 1);return a.exec(); }■ QVector append函数或者操作符来在数组最后端添加元素而不用担心溢出问题。 定义 QVector int array(10) array[5]4; 加元素 strArray.append(Hello); //可以这样 加元素 strArrayWorld!; //也可以这样 插入 strArray.insert(1,这就是在hello和world之间添加); 删除 strArray.remove(1); //删除第一个元素从0开始 strArray.remove(13); //从1开始删除3个元素 复制取代 strArray.replace(1,LEO); //删除第一个元素从0开始 是否含有contains()函数是用来查找向量容器内是否含有某个对象。 count()函数可以找出某个对象出现的次数。 resize()函数可以在任何时候改变QVector向量容器的体积 capacity()函数会告诉你向量容器所占内存的实际大小空间。 判断是否包含某元素 qDebug() Array.contains(12);末端添加元素 QVectorint Array; Array3; //第一种方式 Array.append(5); //第二种方式种方式 QVectorint::iterator num; for (numArray.begin(); num!Array.end(); num) {qDebug() *num; }//第二种方式 for (int i0; iArray.count(); i) {qDebug() Array[i]; }QVectorQString strArray; ■ QLinkedList 是链式列表数据项不是连续的内存存储基于迭代器访问数据项插入和删除数据项操作时间相同 QLinkedListQString list; list1234; // foreach正序 QString str; foreach (str, list)qDebug() str;// 迭代器正序 QLinkedListQString::iterator it; for(it list.begin(); it ! list.end(); it){qDebug() *it; }// 迭代器倒序 QLinkedListQString::const_iterator it list.constEnd(); while (it ! list.constBegin()) {--it;qDebug()*it; } 移除某个节点 list.removeOne(4);列表大小 list.size() 链头位置插入 list.push_front(5);链尾位置插入 list.push_back(5); 清空 list.clear();■ QStack 类似于堆栈后入先出的特点push()和pop()用于数据进出栈。 QStack int s;    //定义一个int型栈 s. isEmpty();    //返回栈是否为空 s.size(); //返回当前栈中元素的个数 s.push(); //在栈顶上堆进一个元素 s.pop(); //删除掉栈顶上的元素,并返回这个元素 s.top(); //返回栈顶的元素,并不会删除 T operator[] ( int i );    //以数组形式访问队列元素QStackint stack; stack.push(1); stack.push(2); stack.push(3);while(!stack.isEmpty())stack.pop();■ QQueue 它的父类是QList,是个模板类 类似于队列先入先出的特点enqueue()和dequeue()用于操作数据进出队列。 QQueueint Q;   //定义一个int型队列 Q.isEmpty(); //返回队列是否为空 Q.size(); //返回队列元素个数 Q.clear(); //清空队列 Q.enqueue(); //在队列尾部添加一个元素, 比如插入数字5: Q.enqueue(5) Q.dequeue(); //删除当前队列第一个元素,并返回这个元素 Q.head(); //返回当前队列第一个元素 Q.last(); //返回当前队列尾部的元素 T operator[]( int i ); //以数组形式访问队列元素QQueueint queue; queue.enqueue(1); queue.enqueue(2); queue.enqueue(3);while(!queue.isEmpty())queue.dequeue();■ 关联容器类 ■ QSet 基于散列表的集合模板类存储数据的顺序不定查找速度非常快。 QSet类是一个模板类他是一个哈希表集合。QSetT是Qt的一个普通容器类。QSet存储的值是不指明顺序的QSet对这些值提供了快速检索的功能。他和QHash很像PSSet就是键值一样的Hash QSetQString set; set.insert(one); set.insert(three); set twelve fifteen nineteen;使用contains()判断set中是否存在某一项 if (!set.contains(ninety-nine))遍历整个set QSetIteratorQWidget * i(set); while (i.hasNext()) qDebug() i.next();QSetQWidget *::const_iterator i set.constBegin();while (i ! set.constEnd()) {qDebug() *i;i;}QSetQString set; foreach (const QString value, set) qDebug() value;#include QtCore/QCoreApplication #include QSet #include QDebugclass Data{ public: Data(const QString strVal, const int intVal){ StrVal strVal;IntVal intVal;} QString StrVal;int IntVal; friend QDebug operator (QDebug os, Data data){os ( data.StrVal , data.IntVal ); return os;} }; int main(int argc, char *argv[]) {QCoreApplication a(argc, argv);QSetData* dataSet;dataSet.insert(new Data(ABC, 0));dataSet.insert(new Data(DEF, 1));dataSet new Data(AAA, 2);dataSet new Data(CCC, 3);//Java styleQSetIteratorData * i(dataSet);while(i.hasNext())qDebug() *(i.next());//STL styleQSetData*::const_iterator stlI dataSet.constBegin();while(stlI ! dataSet.constEnd()){qDebug() **stlI;delete *stlI;stlI;} return a.exec(); }■ QMap QMap存储数据按照键的顺序来存储的一个键映射一个值。QMapint,int map; map[1] 1; map[2] 2; map[3] 3; //或者使用insert QMapint,int map; map.insert(1,1); map.insert(2,2); map.insert(3,3);int num map[1]; //或者 int num2 map.value[2];■ QMultiMap 是QMap的子类一个键可以对应多个值。 QMultiMapint,int map; map.insert(1,1); map.insert(1,2); //map.size() 2 ■ QHash 基于散列表来实现的,查找速度非常快。 和QMap比较 QHash查找速度更快 QMap是按键顺序排序的QHash数据项任意排序创建,键值对的方式插入数据类型随意这里以键int值QString示例。 QHashint,QString qhash;//方式一 qhash[1] 1; qhash[2] 2; qhash[3] 3;//方式二 qhash.insert(4, “4”); 通常QHash 每个键只允许有一个值。如果用已经存在的键调用 insert()先前的值将被删除 qhash.insert(4,10); 最后键为4的值将变成“10”。取值 //方式一 QString str1qhash.value(1);//str11;//方式二 QString str2qhash[2];//str12;如果qhash里面没有该键值则返回默认构造值比如QString str3qhash.value(5);//str3;检索某个值是否在里面 if(qhash.contains(9)) {return false; }if(qhash.contains(1)) {return true; }查找某个字并获取一般推荐contains结合value重载函数来实现QString str; if(qhash.contains(1)) {strqhash.value(1); } else {strqhash.value(1,wert);//如果哈希表中不存在指定键的元素该函数使用第2个参数作为默认值 }QHashint,QString::const_iterator it qhash.constBegin(); while (it ! qhash.constEnd()) {cout it.key() : it.value() Qt::endl;i; } 当然不用const_iterator也可以直接iterator;删除,下面两种都可以 qhash.erase(it);//这里的it是迭代器哦 qhash.remove(key); ■ QMultiHash QMultiHash是QHash的子类用于处理多值映射的类与QMultiMap类似。
http://www.hkea.cn/news/14405836/

相关文章:

  • 个人主页免费网站下载微信安装微信
  • 上海模板网站套餐推广手段
  • 微信网站怎么做给人做网站
  • 网站访客qq抓取统计系统怎么建立网站平台
  • 创建蛋糕网站建设方案合肥网站建设渠道
  • 怎么电话销售网站建设济南建网站的网站
  • 店铺网站平台建设方案深圳公司电话
  • 网站平台建设规划设计电影完整版视频在线
  • 个人网站有哪些站wordpress 搜索引擎
  • 授权登录网站怎么做济南好的seo
  • 沈阳网站制作全网性深圳做网站的公司搜行者seo
  • 世界建筑设计网站网站全程设计技术
  • 威海自适应网站建设营销型网站建设 兼职
  • 做一个电子商务网站比较好的网站建设平台
  • 手机做兼职的网站设计直播视频网站源码
  • 甘肃省安装建设集团公司网站开发微信小程序需要多少钱
  • 哪家建网站济南网约车平台
  • 官网网站备案网站建设难点分析
  • 网站开发学费带有后台的网站开发软件
  • 龙海网站建设价格做的网站有广告图片
  • 浦口区网站建设技术指导电商网站建设运城
  • 建设银行个人网站显示不了目前在哪个平台做推广好
  • 一个app下载网站iis 如何搭建网站
  • 汉川建设局网站深圳住房建设厅网站首页
  • 鄂州网站建设html网页背景颜色代码
  • 做网站大概多钱医疗网站整站优化思路
  • 西安网站建设有那些公司网站静态化
  • 类似网站的建设网站管理员的联系方式
  • 武进附近做网站的公司有哪些郑州市金水区建设局官方网站
  • 网站推广文章范例创建公司网站 优帮云