- 博客(12)
- 资源 (3)
- 收藏
- 关注
原创 CPP入门基础
1.命名空间定义:命名空间的名字在其所在作用域中是唯一的,命名控件可以在全局作用域或者其它作用域内部定义,但是不能在函数或者类的内部定义 注:命名空间作用域不能以分号结束。 命名空间中的每个名字必须引用该命名空间中的唯一实体,命名空间中的实体称为命名空间的成员,不同命名空间的成员可以具有相同的名字。:: 作用域限定命名空间内部各成员之间可以直接访问,外部的代码必须指出所引用成员名字定义在哪个命名
2017-06-30 22:33:13 402
原创 链表和顺序表习题(二)
1.判断单链表是否带环?若带环,求环的长度?求环的入口点? 用快慢指针。快指针每走两步,慢指针走一步,如果两者在某个点处相遇,则链表带环。快指针每次走两步,而慢指针每次走一步是有原因的:若快指针每次走3或者更多,而慢指针每次走一,可能会有快慢指针错过,得不到想要的相遇点。(图中k为大于一正整数,表示快指针走过整个环的次数) 相遇点得到后,再用两个相同速度指针,P1从链表头开始每次走1,P
2017-06-30 20:52:09 474
原创 链表和顺序表习题(一)
1.比较顺序表和链表的优缺点,说说它们分别在什么场景下使用? 链表 顺序表 每个元素的访问 每个节点都需要通过指针找到内存然后加载到缓存中 内存访问时,不需要多次从内存到缓存的步骤 头插,头删,中间位置 直接增加或删除节点 在插入或删除之前要先对之后的数据进行挪动 尾插,尾删 需要对空间进行操作 直接对数据进行操作,空间是之前一次性开辟好的 空间操
2017-06-15 17:40:45 1918 1
原创 基于单链表和环形队列的生产消费模型
消费者模型消费者模型由消费者,生产者以及交易场所构成;其中消费者与生产者的关系有以下几种:消费者—消费者:互斥消费者—生产者:互斥、同步生产者—生产者:互斥基于单链表的消费者模型互斥关系的由互斥锁来实现:int pthread_mutex_lock(pthread_mutex_t *mutex);//上锁int pthread_mutex_trylock(pthread_mutex_t *
2017-06-13 13:59:08 1097
原创 线程
Linux中线程与进程的区别 在Linux中,进程是一个正在执行的程序,是程序的一个实例,它能分配处理器并由处理器执行的实体。一个除处理器其他元素都具备的程序也叫做进程,简单来说就是一个动态的执行过程,线程,严格地讲在Linux中没有线程,而是用轻量级进程来模拟线程联系:进程可以看作是进程的一个执行分支进程为线程提供环境由轻量级的进程模拟得到的线程成为基本调度单位
2017-06-09 22:40:53 221
原创 CSDN中markdown字体颜色,大小,首行缩进,居中排布
这里讲的常用语法,不包括本身说明了的语法一、下面是首行缩进的两种方法1.这里实用空格去替代缩进的字符,下面讲的替代包括分号 2.把输入法由半角改为全角。 两次空格之后就能够有两个汉字的缩进。半方大的空白用 或 全方大的空白用 或 不断行的空白格用 或 示例:略略...
2017-06-08 17:29:35 4008
原创 线程死锁
死锁概念: 指两个或两个以上的进程(线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程(线程)称为死锁进程(线程)。 由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程(线程)在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象称为死锁。产生死锁的条件 互
2017-06-08 16:59:59 267
原创 单向链表
实现一个基本具有增删查改功能的单向列表基本思想:结构体内含有一个节点数据变量和指向下一节点的指针变量,最后一个节点内的指针变量为空,如下图所示,基本操作都是基于节点地址的操作注:在列表的功能实现中,增加节点是动态开辟了一块空间,因此在删除节点时一定要释放节点所在空间,以免造成内存泄漏;在每个功能实现之前先考虑清楚实现此功能会遇到的各种情况;在函数传参时一定要清楚所传参数为值传递还是地址传递,形式参数
2017-06-08 12:24:18 286
原创 在旋转之后的已排序数组中查找一个数字
在旋转之后的已排序数组中查找一个数字(复杂度O(N))解法:我们可以用二叉搜索。每次都把数组分成两半,判别哪一半是排过序的。如果待查元素在排过序的那一半,那么用二叉搜索。如果在另一半,那么我们再将这块分为两块判断哪一块是排过序的。如此递归查找。#include<stdio.h>int Find_d(int arr[], int d,int sz)//参数分别是,源数组,所要查找数字,源数组元素个数
2017-06-06 11:09:11 354
原创 顺序表(动态)
用动态开辟内存的方式写一个列表SeqList.h#ifndef _SEQLIST_H__#define _SEQLIST_H__#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <string.h>#include <assert.h>#include <errno.h>#include <stdlib.h>#defi
2017-06-05 18:40:55 299
原创 顺序表(静态)
SeqList.h#ifndef _SEQLIST_H__#define _SEQLIST_H__#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include <string.h>#include <assert.h>#define MAX 1000#define Types "%d"typedef int DataType;ty
2017-06-05 17:26:04 236
原创 C和CPP注释转换
注释转换是将如下几种情况的注释分别按情况转换为相应注释风格(将C注释转换为C++注释风格)首先我们需要两个文件来分别存储需要修改的源码和修改之后的代码,这里我将文件创建在当前目录之下注释转换的实现依据有限状态机编程思想,状态转换如下图所示:下面是input.c文件内修改的源码的注释及需要转换的情况的说明// 1.一般情况int num = 0;/*int i = 0;*/// 2.换行问题/*
2017-06-03 14:34:43 1574 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人