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

如何制作网站地图wordpress主题结构讲解视频教程

如何制作网站地图,wordpress主题结构讲解视频教程,手机网站宽度,技术支持 深圳网站建设贝尔利在ACM模式中&#xff0c;stringstream 是处理复杂输入格式的强大工具&#xff0c;尤其适用于字符串分割、类型转换、多行混合输入等场景。以下是其核心应用场景及示例&#xff1a; 一、按分隔符分割字符串 1. 按空格分割&#xff08;最常见&#xff09; #include <iostre…

在ACM模式中,stringstream 是处理复杂输入格式的强大工具,尤其适用于字符串分割、类型转换、多行混合输入等场景。以下是其核心应用场景及示例:

一、按分隔符分割字符串

1. 按空格分割(最常见)
#include <iostream>
#include <sstream>
#include <vector>
using namespace std;int main() {string line;getline(cin, line);  // 读取一整行:"1 2 3 4"stringstream ss(line);vector<int> nums;int num;while (ss >> num) {  // 自动按空格分割并转换为整数nums.push_back(num);}// 输出:4(元素个数)cout << nums.size() << endl;return 0;
}
2. 按其他分隔符分割(如逗号、分号)
#include <iostream>
#include <sstream>
#include <vector>
using namespace std;int main() {string line = "a,b,c,d";stringstream ss(line);vector<string> words;string word;while (getline(ss, word, ',')) {  // 指定逗号为分隔符words.push_back(word);}// 输出:a b c dfor (const string& w : words) {cout << w << " ";}return 0;
}

二、字符串与数字的互相转换

1. 字符串转整数/浮点数
#include <iostream>
#include <sstream>
using namespace std;int main() {string s = "123.45";stringstream ss(s);double num;ss >> num;  // 将字符串转换为double// 输出:123.45cout << num << endl;return 0;
}
2. 数字转字符串
#include <iostream>
#include <sstream>
using namespace std;int main() {int num = 123;stringstream ss;ss << num;       // 将整数写入stringstreamstring s = ss.str();  // 转换为字符串// 输出:123(字符串类型)cout << s << endl;return 0;
}

三、处理多行混合输入

示例:每行格式不同的输入
3        // 第一行:整数n
1 2 3    // 第二行:n个整数
abc      // 第三行:字符串
#include <iostream>
#include <sstream>
#include <vector>
using namespace std;int main() {string line;// 1. 读取第一行:整数ngetline(cin, line);int n = stoi(line);// 2. 读取第二行:n个整数getline(cin, line);stringstream ss(line);vector<int> nums;int num;while (ss >> num) {nums.push_back(num);}// 3. 读取第三行:字符串getline(cin, line);string s = line;return 0;
}

四、处理动态长度的输入

示例:每行数字个数不确定
1 2 3
4 5
6 7 8 9
#include <iostream>
#include <sstream>
#include <vector>
using namespace std;int main() {string line;vector<vector<int>> matrix;while (getline(cin, line)) {  // 逐行读取if (line.empty()) break;  // 空行结束stringstream ss(line);vector<int> row;int num;while (ss >> num) {row.push_back(num);}matrix.push_back(row);}// 输出矩阵行数:3cout << matrix.size() << endl;return 0;
}

五、高级技巧:重复利用stringstream

1. 清空stringstream
stringstream ss;
ss << "123";
ss.str("");  // 清空内容
ss.clear();  // 重置状态标志
2. 高效处理大数加法
#include <iostream>
#include <sstream>
using namespace std;string add(string a, string b) {stringstream ss;int carry = 0;int i = a.size() - 1, j = b.size() - 1;while (i >= 0 || j >= 0 || carry) {int sum = carry;if (i >= 0) sum += a[i--] - '0';if (j >= 0) sum += b[j--] - '0';carry = sum / 10;ss << (sum % 10);  // 按逆序写入}string result = ss.str();reverse(result.begin(), result.end());  // 反转字符串return result;
}int main() {string a = "123", b = "456";cout << add(a, b) << endl;  // 输出:579return 0;
}

六、注意事项

  1. 性能考虑
    stringstream 比直接处理字符数组慢,对于大数据量输入(如1e6级别),建议使用scanf或手动解析。

  2. 状态管理

    • 每次使用前需用ss.str("")ss.clear()重置。
    • 读取失败时(如字符串转整数格式错误),需用ss.clear()恢复状态。
  3. getline配合
    若先使用cin读取整数,再用getline读取字符串,需用cin.ignore()清除换行符:

    int n;
    cin >> n;
    cin.ignore();  // 清除换行符
    string line;
    getline(cin, line);
    

七、常见应用场景

场景实现方式
读取一行整数列表stringstream ss(line); while (ss >> num) nums.push_back(num);
解析CSV格式getline(ss, word, ',');
字符串转数字(含错误处理)if (stringstream(s) >> num) { ... } else { ... }
大数运算(字符串拼接)stringstream ss; ss << digit; result = ss.str();

掌握stringstream的灵活应用,能大幅提升处理复杂输入格式的效率,是ACM竞赛和在线评测中的必备技能。

http://www.yayakq.cn/news/875360/

相关文章:

  • 郑州建站费用WordPress无法自动推送
  • 高性能网站建设进阶指南互联网推广外包
  • 书画网站免费源码小程序注册方法
  • 一流 北京网站建设表格网站源码
  • 新乡网站建设waterseowordpress 模板之家
  • 抚顺网站开发招聘营销型企业网站建站
  • 河源网站建设公司上海外贸仓储公司
  • 临沂营销型网站建设莱芜拉呱
  • 建设俄语网站网站关键词设定
  • 无锡市建设局网站联系电话黄冈贴吧黄冈论坛吧
  • 佛山购物网站建设网络营销做得比较成功的企业
  • 云南省建设厅网站自学网页设计有前途吗
  • 网站的技术支持汕头在线制作网站
  • 网站建设公司创业微信小程序开发实战源代码
  • ppt做的模板下载网站有哪些淘宝的网站建设方案
  • 聊城手机网站建设公司怎么样注册企业邮箱
  • 沈阳做网站的设计公司哪家好中国工厂网站官方网站
  • 如何做好公司网站网站建设优化的作用
  • 020网站设计让你的静态网站 做后台
  • 网站建设哪里有学绵阳住房和城乡建设厅官方网站
  • 专业做网站 郑州阿里云网站备案入口
  • 网站建设的基本要素wordpress第一篇文章
  • 昌平手机网站建设wordpress文章摘录
  • wordpress怎么改主页背景国内正规seo网络推广
  • 苏州做网站公司速找苏州聚尚网络南昌租房网
  • 房产网站关键词优化网页的源代码的开始和结束标签必须是
  • 泉州那家做网站公司好沈阳网页设计公司排名
  • 网站建设实训结论与分析总结九天利建公司简介
  • 微信官方网站下载东方建设集团有限公司网站
  • 平湖市网站建设上海市安全生产建设协会网站