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

网站建设中毒怎么办如何进行搜索引擎优化

网站建设中毒怎么办,如何进行搜索引擎优化,wordpress更改主题,广州 营销型网站数据容器类 1. QList1.1 使用创建和初始化添加和删除元素访问和修改元素查找和判断元素遍历列表排序和筛选与其他容器的转换 1.2 完整示例 1. QList 在Qt中,QList 是一个动态数组容器类,用于存储和管理相同类型的元素。它提供了快速随机访问、动态扩展和…

数据容器类

  • 1. QList
    • 1.1 使用
      • 创建和初始化
      • 添加和删除元素
      • 访问和修改元素
      • 查找和判断元素
      • 遍历列表
      • 排序和筛选
      • 与其他容器的转换
    • 1.2 完整示例

1. QList

在Qt中,QList 是一个动态数组容器类,用于存储和管理相同类型的元素。它提供了快速随机访问、动态扩展和丰富的操作方法,是Qt中最常用的容器类之一。

  • 功能:实现动态数组,支持快速随机访问和动态增长。
  • 底层实现:基于数组,在元素数量超过预分配空间时自动重新分配内存。
  • 特点
    • 支持索引访问(如 list[0])。
    • 可动态添加、删除元素。
    • 提供多种遍历方式。
    • 元素类型必须是可赋值的(如基本类型、QString、自定义类等)。

性能考虑:

  • 随机访问:O(1),非常高效。
  • 尾部插入/删除:平均O(1),但可能需要重新分配内存。
  • 中间插入/删除:O(n),因为需要移动后续元素。
  • 查找:O(n),线性查找。

如果需要频繁在中间插入/删除元素,可考虑使用 QLinkedList;如果需要键值对存储,可使用 QMapQHash

1.1 使用

创建和初始化

#include <QList>
#include <QString>// 创建空列表
QList<int> intList;
QList<QString> stringList;// 使用初始化列表创建
QList<int> numbers = {1, 2, 3, 4, 5};
QList<QString> names = {"Alice", "Bob", "Charlie"};// 从现有列表复制
QList<int> copyList(numbers);  // 深拷贝// 指定初始大小和值
QList<QString> emptyNames(5, "");  // 创建包含5个空字符串的列表

添加和删除元素

// 添加元素
QList<QString> list;
list.append("Apple");      // 在末尾添加
list.prepend("Banana");    // 在开头添加
list.insert(1, "Cherry");  // 在索引1处插入// 删除元素
list.removeAt(1);          // 删除索引1的元素
list.removeFirst();        // 删除第一个元素
list.removeLast();         // 删除最后一个元素
list.removeOne("Apple");   // 删除第一个匹配的元素
list.removeAll("Apple");   // 删除所有匹配的元素// 清空列表
list.clear();

访问和修改元素

// 通过索引访问(不检查边界)
QString first = list[0];   // 读取
list[0] = "New Value";     // 修改// 通过at()访问(检查边界,越界时抛出异常)
QString second = list.at(1);// 获取列表大小
int size = list.size();    // 或 list.count()// 判断列表是否为空
bool isEmpty = list.isEmpty();  // 或 list.size() == 0// 获取第一个和最后一个元素
QString firstItem = list.first();  // 或 list.front()
QString lastItem = list.last();    // 或 list.back()

查找和判断元素

// 查找元素位置(返回第一个匹配的索引,未找到返回-1)
int index = list.indexOf("Apple");
int lastIndex = list.lastIndexOf("Apple");// 判断是否包含元素
bool containsApple = list.contains("Apple");// 统计元素出现次数
int count = list.count("Apple");

遍历列表

基于索引的遍历

for (int i = 0; i < list.size(); ++i) {qDebug() << list[i];
}

基于迭代器的遍历

// 只读迭代器
QList<QString>::const_iterator it;
for (it = list.constBegin(); it != list.constEnd(); ++it) {qDebug() << *it;
}// 读写迭代器
QList<QString>::iterator mutableIt;
for (mutableIt = list.begin(); mutableIt != list.end(); ++mutableIt) {*mutableIt = "Modified";
}

C++11范围for循环

for (const QString &item : list) {qDebug() << item;
}// 可修改的版本
for (QString &item : list) {item = "Modified";
}

排序和筛选

// 排序(升序)
QList<int> numbers = {3, 1, 4, 2};
std::sort(numbers.begin(), numbers.end());  // 标准库排序// 自定义排序(降序)
std::sort(numbers.begin(), numbers.end(), [](int a, int b) {return a > b;
});// 筛选元素(使用STL算法)
QList<int> evenNumbers;
std::copy_if(numbers.begin(), numbers.end(), std::back_inserter(evenNumbers),[](int num) { return num % 2 == 0; });

与其他容器的转换

// QList 转 QVector
QVector<int> vector = numbers.toVector();// QList 转 std::list
std::list<int> stdList = numbers.toStdList();// std::vector 转 QList
std::vector<double> stdVector = {1.1, 2.2, 3.3};
QList<double> qList = QList<double>::fromStdVector(stdVector);

1.2 完整示例

#include <QList>
#include <QDebug>void listExample() {// 创建列表并添加元素QList<QString> fruits;fruits.append("Apple");fruits.append("Banana");fruits.prepend("Cherry");// 遍历列表qDebug() << "所有水果:";for (const QString &fruit : fruits) {qDebug() << fruit;}// 修改元素if (fruits.size() > 1) {fruits[1] = "Blueberry";}// 查找元素int index = fruits.indexOf("Apple");if (index != -1) {qDebug() << "找到Apple,索引为:" << index;}// 删除元素fruits.removeOne("Cherry");// 排序fruits.sort();// 输出排序后的列表qDebug() << "排序后的水果:";for (const QString &fruit : fruits) {qDebug() << fruit;}
}
http://www.dtcms.com/wzjs/66570.html

相关文章:

  • 网站制作收费明细表网站页面设计
  • 政府部门网站作用武汉千锋教育培训机构怎么样
  • 东莞艺美网站建设seo基础入门教程
  • 网站开发和c语言如何在网上推广自己的产品
  • 商务部网站直销企业名单百度一下 你就知道官方
  • icp备案查询工信部seo的搜索排名影响因素有哪些
  • 网站优化软件下载网络营销的方式有哪些
  • 建设网站的重要意义信息流推广渠道
  • 修水网站建设百度app下载官方免费最新版
  • 网站的搜索框如何做软件制作平台
  • 公司网站功能模块深圳网络推广市场
  • 珠海网站建设公司提升关键词排名软件哪家好
  • 网站行程表怎么做google推广专员招聘
  • 网站和平台是一个意思吗外贸推广如何做
  • 免费做企业推广的网站网站推广策划思路的内容
  • 网站建设网页设计培训班网站统计分析平台
  • 企业网站源码去一品资源网百度一下你就知道首页
  • ecshop网站模版郑州seo线上推广技术
  • 成都网站seo推广长沙今日头条新闻
  • 网站运营与管理实验报告app开发公司推荐
  • 厦门做网站需要多少钱营销平台建设
  • 不用php做网站适合网络营销的产品
  • 小白如何搭建个人网站seo综合查询工具下载
  • wordpress 图书模板太原百度seo排名软件
  • 怎么做网站的内链外链网络推广好做吗
  • 深圳网站建设响应式seo行业
  • 辽宁城乡住房建设厅网站打不开企业网站seo案例
  • 武汉网站建设武汉网络公司广东疫情中高风险地区最新名单
  • SEO如何建设网站图片搜索识图入口
  • wordpress怎么添加登录昆山seo网站优化软件