C++ 笔记

/**
 * @brief 转换十进制整型字符串表示形式为十进制整型
 * @param s 以十进制整型表示的字符串
 * @return 对应的十进制整型
*/
static int decToDec(string s) {
	//#include <sstream>
	int num;//double num; float num;
	stringstream ss;
	ss << s;
	ss >> num;
	return num;
}

/**
 * @brief 转换二进制整型字符串表示形式为十进制整型
*/
static int binToDec(string s) {
	//#include <sstream>
	int num;//double num; float num;
	stringstream ss;
	ss << ios::binary << s;
	ss >> num;
	return num;
}

/**
 * @brief 转换十六进制整型字符串表示形式为十进制整型
*/
static int hexToDec(string s) {
	//#include <sstream>
	int num;//double num; float num;
	stringstream ss;
	ss << std::hex << s;
	ss >> num;
	return num;
}

/**
 * @brief 转换十进制整型为字符串表示形式
*/
static string intToString(int i) {
	return to_string(i);
}

/**
 * @brief 查找字符串中的子字符串并返回起始索引
 * @param substr 要查找的子字符串
*/
static int findIndexOf(string s, string substr) {
	int index = s.find(substr);
	if (index == string::npos) {
		return -1;
	}
	else {
		return index;
	}
}

/**
 * @brief 查找向量中的元素并返回索引
 * @param a 要查找的元素的值
*/
static int findIndexOf(vector<int> arr, int a) {
	//#include <vector>
	//#include <algorithm>
	vector<int>::iterator i = find(arr.begin(), arr.end(), a);
	if (i == arr.end()) {
		return -1;
	}
	else {
		return i - arr.begin();
	}
}

/**
 * @brief 添加元素至向量末尾
 * @param arr 需要添加元素的向量
 * @param a 添加的元素
*/
static void add(vector<int>& arr, int a) {
	arr.push_back(a);
}

/**
 * @brief 移除向量末尾元素
*/
static void removeAtLast(vector<int>& arr) {
	arr.pop_back();
}

/**
 * @brief 移除向量中的元素
 * @param arr 操作的向量
 * @param index 要移除元素的索引
*/
static void removeAt(vector<int>& arr, int index) {
	arr.erase(arr.begin() + index);
}

/**
 * @brief 移除向量中的元素
 * @param arr 操作的向量
 * @param a 要移除的元素值
*/
static void removeItem(vector<int>& arr, int a) {
	vector<int>::iterator i = remove(arr.begin(), arr.end(), a);
	arr.erase(i, arr.end());
}

/**
 * @brief 交换向量中的一组元素
 * @param arr 操作的向量
 * @param e1_index 待交换的一组元素的第一个元素的索引
 * @param e2_index 待交换的一组元素的第二个元素的索引
*/
static void exchange(vector<int>& arr, int e1_index, int e2_index) {
	swap(arr[e1_index], arr[e2_index]);
}
posted @ 2021-06-30 10:28  摘叶飞镖  阅读(39)  评论(0编辑  收藏  举报