- 博客(10)
- 问答 (1)
- 收藏
- 关注
原创 获取系统的当前时间(毫秒级别)的解决办法
今天想介绍的是获取系统时间的函数,包含在#include<sys/time.h>头文件中;gettimeofday(&tv,NULL); 这个函数可以把时间包装为timeval和timezone结构体进行输出,结构体中包含微妙和秒,我们可以利用该结构体进行时间的打印。struct timeval{ long tv_sec;/*秒*/ long tv_usec;/*微妙*/};struct timezone{ int tz_m
2021-01-06 17:31:45
1636
原创 ACM 2255 输入二叉树先序遍历和后序遍历字符串,输出二叉树后序遍历字符串!
已知二叉树的先序和中序遍历字符串,编程实现输出后序遍历字符串,如果没有成功输出Failed,最后分析时间和空间复杂度!#include <iostream>#include <string>using namespace std;void PrintPostOrder(const string & preorder, const string & inorder, int start1, int start2, int size){ if (size.
2020-10-11 23:08:06
298
原创 字符串的所有子串问题;
字符串的所有子串问题其中 substr(i, j) 意思是字符串从 i 位置,到从 i 开始的第 j 个字符,这几个字符能表达的所有子串;#include<iostream>#include<string> using namespace std;void getAllSubstrings(string str){ if (str.length() == 0) { return; } else { for (int i = 0; i <
2020-09-17 19:02:43
503
原创 经典排序归并排序
经典算法之归并排序r1是辅助数组,r1数组的主要目的是,将r数组进行复制,在其中进行排序,不影响原数组,进行排序将排序后的结果最后赋值给r数组。一层递归结束,返回上一层递归,r[]:原数组、r1[]:辅助数组;s:原数组首地址;m:原数组中心值;t:原数组尾值。都会改变,改变为上一层递归中的值。注意:这里所谓的数组也是相对的,每层递归中的数组r也是不一样的。类似于:下面这个图片,每一层归并得类似的对应每一次递归后返回上层的数组情况。include <iostream>
2020-09-15 18:19:46
144
原创 经典排序之快速排序
经典排序之快速排序最开始的快速排序是使用非递归的双边循环的方法:即就是在排序表中任取一个数pivot作为基准,分别操作排序表的两端,比如low为第一个元素,high为最后一个元素。从前遍历排序表,当arr[j] < pivot时 j 就停止,轮到 i 进行操作,从后面遍历排序表当 arr[i] > pivot 时交换swap(arr[i] arr[j]);j 再重新从当前位置,进行操作,往复上面的操作。结束条件是 当 i > j 时,完成一趟排序,然后分别对 pivot 左
2020-09-15 16:30:07
264
原创 经典排序之冒泡排序
冒泡排序的两种写法:1.i=0被定为第一个,后面逐渐比较这个值+1位置,+2位置,知道+(n-1)位置,第一轮排序结束,最小值被最先固定,开始第二轮,i++,在于后面的值进行比较,轮回往复,直到i = n-1,循环结束。注:这样的好处是,最小值被最先固定。public static int[] bubbleSort(int[] arr) { // 外层for循环控制循环次数 for(int i=0;i<arr.length;i++){ ...
2020-09-15 15:51:34
144
转载 inux内核-CFS进程调度器
inux内核-CFS进程调度器Linux内核进程调度是一个极其重要的模块,实现多任务切换,同时为了兼顾系统性能,调度器的设计需要足够精巧,最近仔细回顾了一下Linux内核进程调度器CFS的相关内容,整理记录一下。进程调度器概述现代操作系统设计的目的在于管理底层硬件资源并使整个计算机系统运行性能达到最优。我们可以发现实现这一目的的方法可以归结为两点:CPU虚拟化和内存虚拟化。现代操作系统一般都能提供多任务执行环境,每个进程都可以拥有自己的虚拟CPU,进程在执行过程中感觉自己是独占CPU。.
2020-09-14 16:36:19
282
转载 Linux负载均衡软件LVS
Linux负载均衡软件LVS一、 LVS简介LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是www.linuxvirtualserver.org。现在LVS已经是 Linux标准内核的一部分,在Linux2.4内核以前,使用LVS时必须要重新编译内核以支持LVS功能模块,但是从Linux2.4内核以后,已经完全内置了LVS的各个功能模块,无需给内核打任何补丁,可以直接使用LVS提供的各种功能。使用LVS技术要.
2020-09-13 20:28:22
191
转载 设计模式原则 —— 单例模式,自以及如何实现线程安全
讲讲两种单例模式 ?两种如何实现线程安全的?1.饿汉式步骤:1.新建一个类,提供私有构造器2.使用构造器声明当前对象实例成员3.声明public static的返回当前类对象的方法4.要在方法中使用私有对象懒汉式步骤与饿汉式相同,存在两个小细节上的不同。如何区分饿汉式和懒汉式?饿汉式:在声明实例成员的时候就造好对象。懒汉式:在调用方法时才造对象。对比一下两者的不同:饿汉式:对象加载时间长;线程安全。懒汉式:延迟了对象的加载;目前这种写法线程不安全,例如三...
2020-09-13 17:41:41
135
原创 C++ 西山居开发填空题
Char szNum[]=”123456789”, int n=*(short*)(szNum+4)- *(short*)(szNum); 则n= 1028 ;## c++int 型占4字节short型占2字节Char型占1字节(short*)(szNum+4)将char型强制转换为short型,由于short型占2个字节而char 型的‘5‘’只占了一个字节’,所以就会在 (short)...
2020-03-15 23:56:45
103
空空如也
旋转角度问题,顺时针逆时针
2021-11-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人