摘要: 不支持随机访问,相比数组占用额外的空间,适合有大量插入和删除,无访问要求的操作。 1.链表生成:头插和尾插 2.链表倒转 3.查找链表的中间节点(快慢指针) 4.查找倒数第k个指针 用两个指针,第一个先指向头指针向后偏移k的位置,第二个指针指向头指针,然后两个指针同时向后移动以为,直到第一个指针到末 阅读全文
posted @ 2017-11-08 09:01 小fanfan 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 1.饿汉式 阅读全文
posted @ 2017-11-06 09:45 小fanfan 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 1.两个或两个以上进程在执行过程中,因争夺资源而造成一种互相等待的现象,若无外力作用,他们都将无法推进下去。 2.解除死锁:撤销和挂起一些进程,以便回收一些资源,再将这些资源分配给死锁的进程,使之就绪状态。 阅读全文
posted @ 2017-11-04 09:42 小fanfan 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 绝对的线程安全:一个内部有共享变量的对象构造后,就能在多线程环境下随意使用,且不发生错误,那么这个对象是线程安全的。 但现实中一般是相对安全的,即在对象构造后需要一些额外的操作来保证线程安全。 实现线程安全的方法: 1.互斥同步,在线程对共享资源操作之前,先加锁,操作完再解锁。 2.非阻塞同步,先对 阅读全文
posted @ 2017-11-04 09:32 小fanfan 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 1.插入:i,光标前,I,行首,a,光标后,A,行尾。 2.删除:x,删除一个,dd,删除行,D,从光标到行尾。 3.n,句首,$,句尾,H,当前页首,L,当前页尾,gg,文首,G,文尾。 4.ctrl + f 向下翻页 ctrl + b 向上翻页 5.yy,复制,p,粘贴,u,撤销 6.上下左右快 阅读全文
posted @ 2017-11-04 00:01 小fanfan 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 1.管道 无名管道是一种只用于父子进程间的半双工的通信方式。有名管道是可以在无亲缘关系进程间通信。 2.信号量 用来控制多进程或多线程对共享资源的访问,是一种多进程和多线程之间同步的手段。 3.信号 用来通知接收进程某个事件已经发生。 4.共享内存 共享内存就是映射一段其它进程能被多进程访问的内存。 阅读全文
posted @ 2017-11-03 12:31 小fanfan 阅读(552) 评论(0) 推荐(0) 编辑
摘要: 存在: 遍历: 查找: 数量: 查找: 阅读全文
posted @ 2017-11-03 10:26 小fanfan 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 1.perror 函数:void perror(const char* message); 当某个库函数出错时,该库函数首先会将代表出错的具体原因出错代码保存到全局变量 errno ,而 perror 只是将errno 代表的错误报告给用户( 实际上是调用strerrno(errno)函数)。(注意 阅读全文
posted @ 2017-11-03 09:33 小fanfan 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 1.lsof -i 查看系统端口被进程占用情况(要以root用户使用该命令),lsof -i:端口号,查看某个端口的占用情况。 2.netstat -tunlp 用于显示tcp、udp的端口和进程等情况。t,表示tcp,u,表示udp,n,拒绝显示别名,能显示数字的全部显示数字,l,仅显示有在lis 阅读全文
posted @ 2017-11-02 23:03 小fanfan 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 一.排序 1.冒泡排序(属于交换排序):O(n*n) 自上而下的对相邻的数依次比较,让较大的往下沉,较小的往上冒,当发现两个相邻的不符合时,将他们交换。 2.快速排序(属于交换排序):O(n*lgn) 选择一个基准元素,通常第一个或最后一个,通过一趟排序将记录分成两部分,一部分记录的元素值都比它大, 阅读全文
posted @ 2017-11-02 11:21 小fanfan 阅读(157) 评论(0) 推荐(0) 编辑