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

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、内排序和外排序

内排序 – 数据都在内存上。
外排序 – 内存小,数据量大, 无法一次性将数据都加载到内存上。
前面讲的排序,只有归并是外排序,其余都是内排序。


http://www.kler.cn/a/444299.html

相关文章:

  • 详细指南:在Ubuntu 20.04 ROS 1环境下设置和使用OpenNI2 SDK
  • 3.8 路由选择器协议
  • 记一次dockerfile中使用环境变量无效的解决方式
  • RTU 通信模块赋能智慧路灯远程开关管理,点亮智慧城市节能增效
  • C/S软件授权注册系统(Winform+WebApi+.NET8+EFCore版)
  • javascript页面设计案例【使用HTML、CSS和JavaScript创建一个基本的互动网页】
  • IEC101/104中的监视点与控制点
  • 使用Python进行excel的数据简单分析
  • FFMpeg-Window下Qt使用MinGW配置FFmpeg开发环境
  • 代码开发相关操作
  • Rust之抽空学习系列(四)—— 编程通用概念(下)
  • 迎接国庆,我上线了第一款小程序
  • selenium模拟某网校带密码登陆
  • 举例说明如何在linux下检测摄像头设备具备的功能
  • 如何@Transactional在 Spring Boot 中使用注解
  • Java收发邮件 Jakarta mail
  • Volta——开箱即用的Node.js 版本管理工具
  • linux 下nmcli命令使用方法
  • Unity3D实现水特效(shader)+倒影
  • Android RXjava实现子线程做耗时操作,比new Thread和handler更香