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

深圳模板网站建设哪家好/网站推广策划案

深圳模板网站建设哪家好,网站推广策划案,一个人的免费高清影院,wordpress中文完整企业主题下载文章目录 数组vector字符串输入输出结构体枚举指针引用综合案例 数组 相同类型的数据的集合{ },通过索引访问元素;在内存中连续存储,属于顺序表;插入、删除时间复杂度 O ( n ) O(n) O(n),访问复杂度 O ( 1 ) O(1) O(1…

文章目录

  • 数组
  • vector
  • 字符串
  • 输入输出
  • 结构体
  • 枚举
  • 指针
  • 引用
  • 综合案例

数组

  • 相同类型的数据的集合{ },通过索引访问元素;
  • 在内存中连续存储,属于顺序表;
  • 插入、删除时间复杂度 O ( n ) O(n) O(n),访问复杂度 O ( 1 ) O(1) O(1)
  • 定义数组,首先确定内部的数据类型,并指定长度(常量),初始化时只能使用{ }来初始化;
// 定义
int arr[30] = {1, 2, 3}; // 后面的值默认为0,初始值个数不能超过长度// 不指定长度时,需要初始化
double score[] = {79.5, 80.5, 90}; // 访问数组,注意索引越界问题
for(int i=0; i < sizeof(arr) / sizeof(arr[0]) ; i++){cout << "arr[" << i << "]:" << arr[i] << endl;
}// 仅仅获取元素
for(int e:arr){cout << e << endl;
}

 

  • 数组内部嵌套数组,即二维数组
// 定义二维数组
int arr[2][3] = {{1,2,3},{4,5,5}};// 遍历
int rowCount = sizeof(arr) / sizeof(arr[0]);
int colCount = sizeof(arr[0]) / sizeof(arr[0][0]);
for(int i=0; i<rowCount; i++){for(int j=0; j<colCount; j++){cout << arr[i][j] << endl;}
}// 元素遍历
for(auto& row:arr){ // 复合数据类型需要 &引用for(auto e:row){ // auto 自动类型cout <<e << endl;	}
}

 

  • 数组实现 选择排序

int main() {int arr[] = {4, 3, 2, 1, 5};// 选择排序O(n^2)// 每次选择最大值或者最小值,放在最后一位// n个数 做n-1次选择int arrLen = sizeof(arr) / sizeof(arr[0]);int n = arrLen - 1;int temp;while (n >= 1) { // 控制选择次数int max_idx = 0; // for (int i = 1; i <= n; i++) {if (arr[i] > arr[max_idx]) {max_idx = i;}}// 交换if (max_idx != n) {// 交换temp = arr[n];arr[n] = arr[max_idx];arr[max_idx] = temp;}n--;}for (int i = 0; i < arrLen; i++) {cout << arr[i] << endl;}
  • 数组实现 冒泡排序

int main() {int arr[] = {4, 3, 2, 1, 5};// 冒泡排序 O(n^2)// 每次将较大值向后一位冒泡// n个数 做n-1轮冒泡int arrLen = sizeof(arr) / sizeof(arr[0]);int temp;for (int i = 0; i < arrLen - 1; i++) { // 控制冒泡的轮数// 控制冒泡for (int j = 0; j < arrLen - 1 - i; j++) {if (arr[j] > arr[j + 1]) {temp = arr[j + 1];arr[j + 1] = arr[j];arr[j] = temp;}}}for (int i = 0; i < arrLen; i++) {cout << arr[i] << endl;}// system("dir");system("pause");return 0;
}

 

vector

  • 数组的长度固定,且越界操作可能带来未知的风险,故对数组扩展,得到vector,array;
  • vector容器,也是相同类型的数据的集合,长度可变,但性能降低;
  • array容器,也是相同类型的数据的集合,长度固定,但性能降低;
#include <vector>
#include <array>
using namespace std;  // 必须包含头文件,并使用std int main() {// 容器是对数组的扩展,不定长用vector, 定长用array (也是扩展的数组)// 拷贝初始化vector<int> cont1 = {1, 2, 3}; vector<float> cont2{ 34.5, 46.7 }; //  赋值号可省略// 直接初始化vector<double> cont3(5); // 指定长度为5  可以继续添加数据,扩展长度vector<string> cont4(3, "jack"); // 长度为3,且默认值均为"jack"// 容器  通过索引访问,修改for (int i = 0; i < cont1.size(); i++) {cout << cont1[i] << "\t";}// 添加cont1.push_back(100); // 尾部添加//cont1.pop_back(); // 尾部删除for (int e : cont1) {cout << e << " ";}// 基于数组扩展的array , 固定长度array<string, 5> userList = { "jack", "tom", "lucy" }; // 赋值也可省略// array<string, 5> userList;  // userList = { "jack", "tom", "lucy" };   // 先声明,再赋值 userList.size() 长度for (string e : userList) {cout << e << " ";}return 0;
}

字符串

  • string类型,也是一个容器,内容可变,通过索引访问每个字符;
  • size()方法获取长度,size() - 1是最后一个索引;同数组,也不能越界访问/赋值
  • 支持两种for循环
#include <string>
using namespace std;int main() {// c++ 中的string是可变的容器,而python的str是不可变的容器string name; //初始化为空string sex = "male"; //拷贝初始化string addr("wuhan province"); // 直接初始化// 普通的forfor (int i = 0; i < addr.size(); i++) {cout << addr[i] << " "; // 索引访问每个字符}// 元素遍历的forfor (char e : addr) {cout << e << " ";}return 0;
}
  • 字符串的拼接
    • 字符串变量 + 字符串变量;
    • 字符串变量 + 字符串字面量;
    • 字符串字面量 + 字符串字面量 (X); 不同于python
  • 字符串的比较
    • ==、> >= < <= 逐字符比较;
  • c风格的字符串,字符类型的数组;
    • {‘a’,‘b’, ‘c’, ‘\0’} , \0为结束字符
       

输入输出

  • cin 控制台输入,捕获字符串,遇空格则将空格前的整体作为一个字符串,赋值给变量;
string name;
string last_name;
cout << "input your name:"; // 控制台输出
cin >> name ; // 输入"jack li", 只能捕获到 "jack"
cin >> name >> last_name;   // 捕获到"li" 赋值给 last_name  
  • getline 获取一行
string name;
getline(cin, name); //  获取一行,并赋值给name
  • cin.get() 获取一个字符
char sex;
sex = cin.get();  // or cin.get(sex)
  • fstream 文件操作
    • 包含头文件<fstream>;
    • ifstream readFile(“xxx.txt”) 读取文件;
    • ofstream toFile(“target.txt”) 写入到文件;
    • 案例,输入用户的姓名,年龄,学历,性别,电话,保存到 user.txt 文件中,并读取该文件,逐行打印;
#include <iostream>
#include <string>  // 字符串的 头文件
#include <fstream> // 文件操作的头文件
using namespace std;// 枚举 性别
enum Sex {Male,  // 默认从0开始, 也可以赋值指定从2、4等开始Female
};int main() {// 姓名  学历   手机号string name, stuLevel, phone;int age = 18;string ageLabel = to_string(age); // 整型转为字符串// 性别string sex_label;enum Sex sex = Male;// 用户输入cout << "input your name:";getline(cin, name); // 获取一行  回车则结束本次输入cout << "input your stuLevel:";cin >> stuLevel;cout << "input your phone:";cin >> phone;cout << "input your age and sex separated with whitespace:";cin >> age >> sex_label; // 捕获多个空格分割的字符串// 枚举 重新赋值if (sex_label == "0")sex = Male;  // 对应int数值elsesex = Female;// 字符串拼接string totalContent = "姓名:";totalContent += name + "\n" + "年龄:";totalContent += ageLabel + "\n" + "性别:";  // 必须字符串对象开头  开始拼接totalContent += sex_label + "\n" + "学历:";totalContent += stuLevel + "\n" + "手机号:";totalContent += phone;system("cd C:\\Users\\lenovo\\Desktop");// 写入文件ofstream writeToFile("C:\\Users\\lenovo\\Desktop\\user.txt");// << 流输出   到文件对象中writeToFile << totalContent;// 关闭文件对象writeToFile.close();// 读取文件ifstream readFileObj("C:\\Users\\lenovo\\Desktop\\user.txt");//逐单词 读取/*string word;while (readFileObj >> word) {cout << word << endl;}*/// 逐行读取string oneLine;while (getline(readFileObj, oneLine)) {cout << oneLine << endl;}//逐字符读取/*char c;while (readFileObj.get(c)) {cout << c << endl;}*/return 0;
}

 

结构体

  • 结构体是一个复合的数据类型,可以存储不同的数据类型;
    • 内部可以定义基本类型;
    • 也可以定义结构体类型;
    • 通过. 访问内部属性,并可修改;
    • 定义学生结构体,包含学生的基本信息;
      • 姓名
      • 年龄
      • 班级
      • 同学s
#include <iostream>
#include <string>  // 字符串的 头文件
#include <fstream> // 文件操作的头文件
#include <vector>  // 变长容器
using namespace std;// 班级结构体
struct StuClass {   // 使用struct关键字 定义结构体string name;   // 班级的名字int stuNum;string classMaster;
}; // 此行 }后面还可以声明变量,只是不常用// 学生结构体
struct StuInfo {string name;int age;StuClass myClass;vector<StuInfo> myClassmates; // 同学
};//输出一个学生的信息
void printStu(StuInfo stu) {cout << "姓名:" << stu.name << endl;cout << "年龄:" << stu.age << endl;cout << "班级:" << stu.myClass.name << endl;cout << "同学数:" << stu.myClassmates.size() << endl;
}int main() {	// 结构体类   c++ 可以直接使用,c中需要带着struct一起使用// 创建班级StuClass class1 = { "三年级01", 30, "teacher wang" }; // 赋值可以省略//创建学生StuInfo stu1 = { "jack", 23, class1, {} };StuInfo stu2 = { "tom", 18, class1, {} };// 为stu2 添加一个同学stu2.myClassmates.push_back(stu1);// 输出学生信息printStu(stu1);printStu(stu2);return 0;
}

 

枚举

  • 把可以取的值,都一 一地列举出来;
  • 使用关键字enum定义枚举;
// 如之前使用的性别的枚举
enum Sex{Male,  // 默认从0开始, 可以在任意项处指定起始值Female, // 1
}//定义变量
Sex sex = Male; // 以枚举项 赋值
Sex sex1 = Sex(2);  // 以整数的强制类型转换赋值,不能直接复制int// 枚举 周工作日
enum WEEK {Mon,Tue,Wed,Thu = 10, // 从10开始Fri,Sat,Sun
};

 

指针

  • 变量即存储数据的地址空间的名字;
  • 指针即存储数据的地址空间的地址,即指针变量 存放的是地址
  • 地址占用8bytes;
    在这里插入图片描述

int main() {	int a = 10;int* p; // 指针变量p = &a;  // 指针变量   赋值a的地址cout << "指针:" << p << endl;cout << "指针的值:" << *p << endl;// 指针操作改值*p = 20;cout << "修改后的值:" << *p << endl;return 0;
}
  • 未初始化的指针,即无效指针(野指针),不可直接使用;
  • 空指针,指针赋值nullptr / NULL / 0; 声明指针,必须初始化
  • void* 指针,可以赋值任意类型的地址,但不能解引用;
  • int** p ,指向指针的指针;解引用使用** ;
  • const int* p, 指向常量的指针,只能赋值常量的地址;
  • int* const p, 常量指针, 不可改变量p的地址;

int main() {	// 常量const int a = 4, b = 5;// 指向常量的指针const int* p = &a;cout << *p << endl;p = &b;cout << *p << endl;// 指向变量的  常量指针int c = 10;int* const p2 = &c;  // 存储地址不可修改cout << *p2 << endl;return 0;
}
  • 数组名称为指向内部首元素的地址,即首地址;
  • 指针数组,指针组成的数组,int* arr[5];
  • 数组指针,代表数组的指针;

int main() {	int a = 1, b = 2, c = 3;// 指针组成的数组-->指针数组int* arr[5];arr[0] = &a;arr[1] = &b;arr[3] = &c;cout << *(arr[0]) << endl;cout << *(arr[1]) << endl;// 数组指针-- 指向一个数组的指针int arr2[3];int* p = arr2;  // 或者  int(*p)[3]*p = 1;*(p + 1) = 2; // 地址偏移一个数据类型的长度*(p + 2) = 3;for (int e : arr2) {cout << e << endl;}// 数组指针int(*pp)[3]; // *pp 相当于arr2pp = &arr2; // 取地址cout << arr2 << endl; // 数组的首地址cout << pp << endl; // 数组的首地址cout << *pp << endl; // *pp 为arr2   还是首地址cout << **pp << endl; // 解引用首个元素cout << *(*pp + 1) << endl; // 解引用第二个元素return 0;
}

 

引用

  • 引用,是给一个变量起别名,一旦绑定一个变量,再不可绑定其他变量;
  • 定义引用, 如 int&
int a = 10;
// 定义引用(必须引用变量)
int& af = a;  // 必须 声明同时 初始化,指向同一个内存地址
af = 20;
cout << a << endl; // 20int& aaf = af;  // 引用 的引用  使用同引用;
  • 常量引用
const int aa = 20;// 常量的引用
const int& aaref = aa;  // 引用常量
const int& bbref = 10;  // 引用字面量int a = 10;
const int& ccref = a;  // 引用变量
  • 引用相当于指针常量;
     

综合案例

  • 反转一个数组
    • 思路:两边对称的元素互换;

int main() {	// 定义数组容器array<int, 5> arr = { 4,3,2,1,5 }; // 两边对换int temp;int n = arr.size();for (int i = 0; i < n / 2; i++) {temp = arr[i];arr[i] = arr[n - 1 - i];arr[n - 1 - i] = temp;}for (int e : arr) {cout << e << " ";}cout << endl;return 0;
}
  • 两个字符串相加
    • 从个位逐位,没有的一方用0代替;
    • label表示进位,有进位则为1(进位最多为1),无进位则为0;
    • 从字符串的最后一个索引开始向索引0方向,循环处理;
    • 字符串通过索引访问每一个字符,数值字符减去‘0’字符得到其代表的整数值;
    • int转为字符串使用 to_string(int);
    • 字符串的拼接必须字符串对象在左

int main() {	// 字符串相加string s1 = "39999"; // 可变容器,索引访问,获取一个字符   '2' - '0'  得到对应的数值2string s2 = "2";  // 字符串-->int   stoi("5793")  stof stodstring result = "";int temp;int s1Idx = s1.size() - 1;int s2Idx = s2.size() - 1;// 表示是否有进位 为1有进位 为0无进位int mid = 0;int a, b;while (s1Idx >= 0 || s2Idx >= 0 || mid) { // 逐位相加,没有则用0代替,特殊情况:两者长度相同,且最后有进位a = s1Idx >= 0 ? s1[s1Idx] - '0' : 0; // 当前字符  减去 '0'字符 得到自己的整数值b = s2Idx >= 0 ? s2[s2Idx] - '0' : 0;// 求和temp = a + b + mid;if (temp <= 9) {// 本次求和没有进位result = to_string(temp) + result; // int 转为 stringmid = 0;}else {// 有进位mid = temp / 10;result = to_string(temp % 10) + result;}s1Idx--;s2Idx--;}cout << "计算结果:" << result << endl;return 0;
}
  • 反转一个单向链表,应用的知识点如下。
    • 包含自定义的头文件使用#include “xxx.h”
    • 空指针初始化 NULL/nullptr,值为0;
    • 指针的解引用+调用属性等价于 指针 -> 调用属性;

定义结构体

// 自定义一个头文件lauf.h , 并定义结构体
struct LinkNode {int value;LinkNode* next;
};

主程序

#include <iostream>
#include "lauf.h" // 包含自定义的头文件
using namespace std;// 入口函数
int main() {// 创建单链表  7->8->9->NULL    空指针为0LinkNode* myLink;LinkNode node9 = { 9, nullptr }; // nullptr 空指针 值为0LinkNode node8 = { 8, &node9 };LinkNode node7 = { 7, &node8 };myLink = &node7;// 双指针 方式反转LinkNode* curPtr = myLink;LinkNode* prePtr = nullptr;LinkNode* temp;while (curPtr) { // 指针存在 temp = (*curPtr).next;  //  解引用 再调用属性  等价于  curPtr -> nextcurPtr->next = prePtr;// 移动指针prePtr = curPtr;curPtr = temp;}LinkNode* reversedLink = prePtr;   // 指针变量赋值 // 打印反转后的链表while (reversedLink) {cout << reversedLink->value << "->";  // -> 等价于  指针的解引用+调用属性reversedLink = reversedLink->next;}return 0;
}

 
 
上一篇:C++ 教程 - 01 基础篇
下一篇:函数

相关文章:

C++ 教程 - 02 复合数据类型

文章目录 数组vector字符串输入输出结构体枚举指针引用综合案例 数组 相同类型的数据的集合{ }&#xff0c;通过索引访问元素&#xff1b;在内存中连续存储&#xff0c;属于顺序表&#xff1b;插入、删除时间复杂度 O ( n ) O(n) O(n)&#xff0c;访问复杂度 O ( 1 ) O(1) O(1…...

【数据处理】NumPy数组的合并操作,如何将numpy数组进行合并?

&#xff0c;NumPy中的合并操作是指将两个或多个数组合并成一个数组的操作。这种操作可以通过不同的函数来实现。 一、横向合并&#xff08;水平合并&#xff09; 横向合并是指将两个具有相同行数的数组按列方向合并成一个数组的操作。在NumPy中&#xff0c;可以使用hstack()…...

JavaScript实现飘窗功能

实现飘窗功能很简单 html代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title…...

Docker笔记:容器转换成镜像,导出导入镜像,数据拷贝,查看日志

docker commit 将容器转换成镜像 可以把容器转换成镜像镜像没有写入权限&#xff0c;但可以通过修改容器把容器制作成新镜像启动容器后&#xff0c;就给容器提供了一个可写层&#xff0c; 在容器里&#xff0c;可安装软件&#xff0c;可创建文件 …转换成镜像&#xff0c;之后…...

串行计时芯片D1380/D1381,2.0V~5.5V 工作电流: 2V时 与TTL 兼容,采用DIP8、SOP8封装

D1380/D1381是一个带秒、分、时、日、日期、月、年的串行时钟保持芯片,每个月多少天以及闰年能自动调节, D1380/D1381低功耗工作方式, D1380/D1381用若干寄存器存储对应信息&#xff0c;一个32.768kHz 的晶振校准时钟&#xff0c;为了使用最小弓|脚&#xff0c;D1380/D1381使用…...

中间件系列 - Redis入门到实战(基础篇)

前言 1.学习视频&#xff1a; 黑马程序员Redis入门到实战教程&#xff0c;深度透析redis底层原理redis分布式锁企业解决方案黑马点评实战项目 2. 本内容仅用于个人学习笔记&#xff0c;如有侵扰&#xff0c;联系删除 3. 本章学习目标&#xff1a; 初始Redis 认识NoSQL认识Redi…...

项目经理和产品经理该如何选择?

最近很多人咨询“项目经理跟产品经理该怎么选&#xff0c;我更适合哪个&#xff1f;”“项目经理跟产品经理哪个更有钱途 ”“项目经理转产品经理好转吗”等等&#xff0c;今天就一次性说清楚项目经理跟产品经理有什么区别&#xff0c;应该怎么选择。 不想看长篇大论的&#x…...

java WebSocket带参数处理使用

1、webSocket实现代码 Component public class WebSocketStompConfig {//这个bean的注册,用于扫描带有ServerEndpoint的注解成为websocket// ,如果你使用外置的tomcat就不需要该配置文件Beanpublic ServerEndpointExporter serverEndpointExporter() {return new ServerEndpoi…...

OkHttp: 拦截器和事件监听器

文章目录 1. 拦截器1. 拦截器链2. 实际案例1. 注册为应用拦截器2. 注册为网络拦截器 3. 如何选择用哪种拦截器1. 应用拦截器2. 网络层拦截器3. 重写请求4. 重写响应 4. 可用性 2. 事件监听器1. 请求的生命周期2. EventListener使用案例3. EventListener.Factory4. 调用失败的请…...

总结一些vue3小知识2

1.el-tree-select和el-tree组件报错&#xff08;有的下拉选项选择不了&#xff0c;一点击就报错&#xff0c;但是有的却能选择&#xff0c;不会报错&#xff09; 原因:就如同v-for一样&#xff0c;需要添加key才不会出现渲染错误&#xff0c;而el-tree-select和el-tree组件需要…...

【Excel设置动态图表】

设置系列&#xff0c;设置水平轴标签。 效果如图&#xff1a; 经验总结&#xff1a; 方法1&#xff1a;如果设置A、B列为水平轴标签&#xff0c;目前无法设置只是日期为横轴&#xff0c;店铺名称只在最下面显示一个&#xff0c;只能并排1列显示。 优点&#xff1a;如果多选…...

用 C 写一个卷积神经网络

用 C 写一个卷积神经网络 深度学习领域最近发展很快&#xff0c;前一段时间读transformer论文《Attention Is All You Need》时&#xff0c;被一些神经网络和深度学习的概念搞得云里雾里&#xff0c;其实也根本没读懂。发现深度学习和传统的软件开发工程领域的差别挺大&#xf…...

直面双碳目标,优维科技携手奥意建筑打造绿色低碳建筑数智云平台

优维“双碳”战略合作建筑 为落实创新驱动发展战略&#xff0c;增强深圳工程建设领域科技创新能力&#xff0c;促进技术进步、科技成果转化和推广应用&#xff0c;根据《深圳市工程建设领域科技计划项目管理办法》《深圳市住房和建设局关于组织申报2022年深圳市工程建设领域科…...

docker 基础入门

docker 基础入门 引言 在当今快速演进的软件开发领域&#xff0c;Docker 已经成为一个革命性的工具&#xff0c;它极大地改变了我们构建、部署和管理应用程序的方式。作为一种开源容器化平台&#xff0c;Docker 提供了一个轻量级且一致的环境&#xff0c;使得软件能够在几乎任…...

HarmonyOS:NativeWindow 开发指导

场景介绍 NativeWindow 是 HarmonyOS 本地平台化窗口&#xff0c;表示图形队列的生产者端。开发者可以通过 NativeWindow 接口进行申请和提交 Buffer&#xff0c;配置 Buffer 属性信息。 针对 NativeWindow&#xff0c;常见的开发场景如下&#xff1a; ● 通过 NativeWindow…...

汉威科技传感器为农业加点“智慧”

农业是国家之根本&#xff0c;历来受到高度重视&#xff0c;在央视《传感中国》系列节目中&#xff0c;智慧农业独占一期&#xff0c;重要性不言而喻。 随着传感器、物联网、GIS、大数据、5G、人工智能、区块链等技术的快速发展&#xff0c;智慧农业成为种植、养殖行业的新趋势…...

springboot listener、filter登录实战

转载自&#xff1a; www.javaman.cn 博客系统访问&#xff1a; http://175.24.198.63:9090/front/index 登录功能 1、前端页面 采用的是layui-admin框架&#xff0c;文中的验证码内容&#xff0c;请参考作者之前的验证码功能 <!DOCTYPE html> <html lang"zh…...

【数据结构—栈的实现(数组栈)】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言 一、栈 1.1栈的概念及结构 二、栈的实现 2.1头文件的实现—Stack.h 2.2源文件的实现—Stack.c 2.3源文件的测试—test.c 三、栈的实际测试数据展示 3.1正常的出…...

Linux安装Halo(个人网站)

项目简介 1.代码开源:Halo 的项目代码开源在 GitHub 上且处于积极维护状态&#xff0c;截止目前已经发布了 109 个版本。你也可以在上面提交你的问题或者参与代码贡献。2.易于部署:推荐使用 Docker 的方式部署 Halo&#xff0c;便于升级&#xff0c;同时避免了各种环境依赖的问…...

Java - Spring中Bean的循环依赖问题

什么是Bean的循环依赖 A对象中有B属性。B对象中有A属性。这就是循环依赖。我依赖你&#xff0c;你也依赖我。 比如&#xff1a;丈夫类Husband&#xff0c;妻子类Wife。Husband中有Wife的引用。Wife中有Husband的引用。 Spring解决循环依赖的机理 Spring为什么可以解决set s…...

使用 Python 实现简单的爬虫框架

爬虫是一种自动获取网页内容的程序&#xff0c;它可以帮助我们从网络上快速收集大量信息。在本文中&#xff0c;我们将学习如何使用 Python 编写一个简单的爬虫框架。 一、请求网页 首先&#xff0c;我们需要请求网页内容。我们可以使用 Python 的 requests 库来发送 HTTP 请…...

Activiti七大接口,28张表详解

Activiti七大接口&#xff0c;28张表详解 7大接口 RepositoryService&#xff1a;提供管理流程部署和流程定义API。 RuntimeService&#xff1a;提供运行时流程实例进行管理与控制API。 TaskService&#xff1a;提供流程任务管理API。 IdentityService&#xff1a;提供对流程…...

解决msvcr120.dll文件丢失问题

项目场景&#xff1a; 在VMware虚拟机中安装win7家庭版系统&#xff0c;安装MySQL数据库&#xff0c;部署项目文件。 问题描述 安装MySQL数据库过程中提示“msvcr120.dll文件丢失”。 原因分析&#xff1a; 提示丢失msvcr120.dll文件&#xff0c;我们首先要到C:\Windows\Sys…...

AI日报:人工智能与新材料的发现

文章目录 总览人工智能正在革命性地发现新的或更强的材料&#xff0c;这将改变制造业。更坚韧的合金问题研究解决方案 新材料人工智能存在的挑战方法探索 日本的研究人员正在使用人工智能制造更强的金属合金或发现新材料&#xff0c;并彻底改变制造过程 总览 日本的研究人员开…...

鱼fish数据集VOC+yolo-1400张(labelImg标注)

鱼类&#xff0c;是最古老的脊椎动物。易蓄积重金属。 部分不同染色体数目的杂交的后代依然有生育能力。它们几乎栖居于地球上所有的水生环境&#xff0c;从淡水的湖泊、河流到咸水的大海和大洋。 今天要介绍鱼的数据集。 数据集名称&#xff1a;鱼 fish 数据集格式&#xf…...

爬虫解析-BeautifulSoup-bs4(七)

目录 1.bs4的安装 2.bs4的语法 &#xff08;1&#xff09;查找节点 &#xff08;2&#xff09;查找结点信息 3.bs4的操作 &#xff08;1&#xff09;对本地文件进行操作 &#xff08;2&#xff09;对服务器响应文件进行操作 4.实战 beautifulsoup&#xff1a;和lxml一样…...

分类预测 | Matlab实现OOA-SVM鱼鹰算法优化支持向量机的多变量输入数据分类预测

分类预测 | Matlab实现OOA-SVM鱼鹰算法优化支持向量机的多变量输入数据分类预测 目录 分类预测 | Matlab实现OOA-SVM鱼鹰算法优化支持向量机的多变量输入数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现OOA-SVM鱼鹰算法优化支持向量机的多变量输…...

2.vue学习笔记(目录结构+模板语法+属性绑定)

文章目录 1.目录结构2.模板语法2.1.文本插值2.2.使用JavaScript表达式2.3.原始HTML 3.属性绑定3.1.简写3.2.布尔型Attribute3.3.动态绑定多个值 1.目录结构 1.vscode ——VSCode工具的配置文件夹 2.node_modules ——Vue项目的运行依赖文件夹 3.public ——资源文件夹&am…...

Python基本语法及高级特性总结

1. Python基本语法 1.1 变量和数据类型 在Python中&#xff0c;变量不需要预先声明&#xff0c;可以直接赋值。Python是一种动态类型语言&#xff0c;变量的类型会根据赋值的对象自动确定。例如&#xff1a; a 10 # a是整数类型变量 b 3.14 # b是浮点数类型变量 c …...

03-详解网关的过滤器工厂和常见的网关过滤器路由过滤器,默认过滤器,全局过滤器的执行顺序

过滤器工厂 过滤器种类 GatewayFilter是网关中提供的一种过滤器,可以对进入网关的请求和微服务响应的结果做加工处理 Spring提供了31中不同的路由过滤器工厂 AddResponseHeader表示给请求添加响应头 default-filters: # 默认过滤器 - AddResponseHeaderX-Response-Default-R…...