C++小细节笔记
1、C++字符串转数字 – 数字转字符串
//string => int 使用 stoi stol
//int => string 使用 to_string()
2、C++遍历
int evalRPN(vector<string>& tokens) {
stack<int> intStack;
for(string &str:tokens)
{}
bool isValid(string s) {
stack<char> cs;
for(char ch:s)
{}
int arr[10];
for (int v : arr)
{
cout << v << " ";
}
3、生成随机数
#include<iostream>
#include<stdlib.h> //包含随机数函数srand
#include<time.h> //需要用time作为随机数种子
using namespace std;
int main()
{
int arr[10];
srand(time(NULL));
for (int i = 0; i < 10; i++)
{
arr[i] = rand() % 100 + 1;
}
for (int v : arr)
{
cout << v << " ";
}
cout << endl;
return 0;
}
4、查函数
5、测试排序算法花费时间
int main()
{
const int COUNT = 10000;
int* arr = new int[COUNT];
int* brr = new int[COUNT];
int* crr = new int[COUNT];
int* drr = new int[COUNT];
srand(time(NULL));
for (int i = 0; i < COUNT; i++)
{
int val = rand() % COUNT;
arr[i] = val;
brr[i] = val;
crr[i] = val;
drr[i] = val;
}
clock_t begin,end;
begin = clock();
BubbleSort(arr, COUNT);
end = clock();
cout << "BubbleSort spend: " << (end - begin) * 1.0 / CLOCKS_PER_SEC << "s" << endl;
begin = clock();
ChoiceSort(brr, COUNT);
end = clock();
cout << "ChoiceSort spend: " << (end - begin) * 1.0 / CLOCKS_PER_SEC << "s" << endl;
begin = clock();
InsertSort(crr, COUNT);
end = clock();
cout << "InsertSort spend: " << (end - begin) * 1.0 / CLOCKS_PER_SEC << "s" << endl;
begin = clock();
ShellSort(drr, COUNT);
end = clock();
cout << "ShellSort spend: " << (end - begin) * 1.0 / CLOCKS_PER_SEC << "s" << endl;
}
6、内排序和外排序
内排序 – 数据都在内存上。
外排序 – 内存小,数据量大, 无法一次性将数据都加载到内存上。
前面讲的排序,只有归并是外排序,其余都是内排序。