- 博客(17)
- 收藏
- 关注
原创 vector容器应用----代码详解
1 vector的构造访问遍历// vector 容器 连续存储空间 动态数组#include<iostream>using namespace std;#include<vector>#if 0int main(){ vector<int> v1; // 无参构造 vector<int >v2(10, 5); //构造的同时...
2019-06-28 21:05:03 160
原创 string 类应用-----代码详解
1 string 类的常用构造#include<iostream>using namespace std;#include<string>// string类对象的常用构造int main(){ string s1;// 构造空字符串(里面\0) string s2("hello world");//用c语言方式构造 string s3(10, ...
2019-06-28 15:49:35 136
原创 进程和线程
进程与线程进程的概念: 对用户来说,是从应用角度出发 : 进程对用户而言,就是一个打开的应用程序,比如说,一个打开的Word,PPT等等.**而对于操作系统来说,**是从管理的角度出发,一个程序要在操作系统上面运行,必须接受操作系统的管理,怎么管理呢,一个核心思想就是,先描述,再组织 ,首先你要在我这边登记一下,你要来运行,我就给你一个pcb ,这个pcb上面存储关于你的所有必要信息,我根据...
2019-06-27 15:25:52 155
原创 谈线程
1 线程是什么线程是一个 执行流(运行代码,处理数据),简单来说是一段代码,一个函数线程的概念:1 先说进程: 操作系统中使用PCB来描述一个程序的运行-------PCB就是进程2 Linux下PCB用来模拟实现线程,因此Linux下的PCB实际上是一个轻量级的进程进程是资源分配的基本单位----因为程序运行时资源是分配给整个线程组(进程)的线程是CPU调度的基本单位**2...
2019-06-26 23:53:46 117
原创 共享内存-------进程间最快的通信方式
1.共享内存通信方式的实现原理是什么?首先申请一块物理内存,然后将这块物理内存通过页表映射到需要进行通信的进程的虚拟地址空间中,然后进程可以通过访问虚拟地址从而间接的访问共享物理内存,每一个与共享物理内存建立映射关系的进程都可以实现进程间通信2.共享内存通信方式的具体实现过程1.通过shmget函数来开辟共享物理内存int shmget(key_t key,size_t size,int...
2019-06-26 09:11:26 2986
原创 信号
进程信号1 信号是什么信号是一个软件中断,是传递给进程的一个通知,通知进程发生了某件事情,让它把手头的事情先放下,赶紧去处理刚刚通知的这件事情.2 信号的种类信号总共有62种—这62种信号又分为两大类型.一种叫做不可靠信号(信号编号为1—31).一...
2019-06-21 16:34:51 154
原创 宏和内联函数的区别
宏和内联函数的区别总结: 内联函数是对宏的优化1 宏宏常量 例:#deifne PI 3.14优点:一改全改,调高代码的复用性提高性能缺点:定义宏出错时,不容易定位错误,因为预处理阶段进行了替换(代码展开)在c++中对宏常量进行了优化 : 用const 修饰变量 同时const具有宏常量的属性int main() { const int a = 10; ...
2019-06-17 13:50:19 1026
原创 排序算法哪家强之快速排序(递归版本)
今天接着继续我们的排序算法哪家强系列今天给大家介绍一种新的排序算法----快速排序算法,听这名字就知道快速排序算法的特点,那就是快. 具体有多快呢,我之前给大家也介绍了几种排序算法,现在,我们将各大排序算法的效率进行一个汇总展示,各种排序算法效率对比一目了然快速排序的核心思想如下:首先,从给定的数组中找到一个基准值,然后以基准值为划分标准,将该数组划分为两部分,一部分大于该基准值,另一部...
2019-06-16 23:37:44 133
原创 Linux文件系统中的软链接与硬链接
1 什么是链接在文件系统中,链接指的是存储在在存储空间中的文件和文件系统组织管理文件之间的连接关系我们知道文件系统要想对存储在计算机中的文件进行管理,首先要对他进行描述,再对他进行管理,举个例子,我们大中国有很多的公司,国家肯定要对其进行约束管理,怎么管理呢,首先公司在创立前要在商务部备案,简单来说,就是,你得来我这儿登记一下,我需要知道你的信息(公司名称,注册资金大小)你在我这登记注册了我就...
2019-06-11 10:42:52 509
原创 指针 和引用 自由 与 禁锢
引用和指针的区别1 指针指针就是地址2 引用引用是给已经存在的变量取别名备注: 引用在语法概念上,就是一个别名,没有他自己的独立空间,和引用实体共用一段内存空间引用在底层实现上,实际上是有空间的,它在底层是按照指针的方式来实现的int main(){ int a = 10;; int &ra = a;//给变量a取别名 cout &...
2019-06-10 14:29:24 139
原创 传值 传地址 传引用 的区别
传值 传地址 传引用1 传值优点: 函数的副作用不会影响外部的实参 ;代码可读性较高缺点: 传参效率低 ; 不能通过形参改变实参 ,对实参有保护作用 void swap(int x,int y){ int temp=x; x=y; y=temp; }2 传地址优点: 传参效率高 传地址只需要4个字节(确定) 传值变量大小不确定,有可...
2019-06-10 14:21:00 812
原创 谈谈进程
1 进程是什么?对于用户来说,进程就是正在打开的应用,也就是正在运行的程序对于操作系统来说,经常就是对一个程序运行状态的描述信息2进程存在的价值(作用)一个程序要想在操作系统上运行,必须先加载到内存中,然后等CPU来光顾(分配资源). 因为操作系统上运行的程序有多个,都等着操作系统分配资源,要想得到CPU的资源必须先接受操作系统的的管理. 要实现管理就必须先对这些程序进行描述,先描述再管理...
2019-06-08 16:02:22 232
原创 当我们在谈程序地址空间时,我们在谈什么?
结论 :我们所说的程序地址空间其实就是虚拟地址空间**1 why : 为什么要有虚拟地址空间 ? ? ?产生背景: 在以前,那时候还没有虚拟地址空间 计算机的内存比较小, 要运行的程序比较多,狼多肉少,完全分不过来而且,一个程序必须在连续的内存空间上才能运行, 由于待运行程序所占的内存空间大小不一,所以会产生一些内存碎片,比如现在内存只有5MB 而现在由一个6MB...
2019-06-08 14:20:44 217
原创 排序算法哪家强之选择排序2(双管齐下版)
昨天给大家分享了选择排序,昨天我们用一个标记符maxpos来遍历待排序区间,然后每一个遍历,找出一个最大值,然后将其放在区间的末尾,今天我们尝试一种新的方法. 这种方法更高效 快捷.原理如下:我们使用两个标记符 maxpos (标记最大值元素位置) minpos(标记最小值元素位置),让这两个标记符同时从数组首位开始遍历数组,然后每一次遍历就找出一个最大值和一个最小值. 每找到一对最值 就...
2019-06-08 00:39:26 91
原创 排序算法哪家强之选择排序
今天分享一种新的排序算法-----选择排序选择排序算法实现原理:以升序为例:首先假定数组首元素为数组元素中最大的元素,用maxpos来标记最大元素接着遍历数组中其他元素,并将最大值与所遍元素比较,如果有那个元素大于maxpos标记的元素,就用maxpos来标记它(更新maxpos)每一次遍历选出数组中最大值,并将其与数组尾部元素交换,交换完毕之后更新尾部元素 再将maxpos标记数组首元...
2019-06-06 23:43:27 133
原创 排序算法哪家强之插入排序升级版----希尔排序
有人说:提出问题比解决问题更重要,我觉得这句话是非常有道理的,提问的过程就是思考的过程,而且提问式的思考往往比较有深度,所有呢,我今天换个叙述方式,以自问自答的形式来开始今天的分享.1.为什么要有希尔排序答: 我们虽然学习了插入排序,但我们应该知道这种算法的局限性,每一种理论都是为了解决某一具体领域的问题,它都是有局限性和大前提的.它的时间复杂度为o(n^2),当数据量较大,而且数据无序时...
2019-06-06 00:20:19 113
原创 排序算法哪家强之插入排序
今天是2019年6月1日,今年我22岁,从20岁之后,时间就推着我在奔三的路上一路狂奔,貌似今天的儿童节跟我没有什么关系,实际上就是没有什么关系,可是我总还是有些不甘啊,谁还不是个宝宝啊,哈哈哈,.,<<小王子>>里面说:’'每个大人曾经都是孩子,只不过后来人们都忘记了" 愿我们每个人出走半生,归来仍是少年,永远保持对生活的热爱,永远保持这份童真.祝大家儿童节快乐O...
2019-06-01 22:55:12 138
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人