自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 两个栈实现队列

s1和s2为两个栈 1. 入队时,将元素压入s1。 2. 出队时,判断s2是否为空,如不为空,则直接弹出顶元素;如为空,则将s1的元素逐个“倒入”s2,把最后一个元素弹出并出队。 这个思路,避免了反复“倒”栈,仅在需要时才“倒”一次。

2017-10-10 20:57:18 161

原创 从链表尾部开始打印

将链表从头开始遍历, 每遍历一个数时,将该数放入一个栈中, 然后将该栈中数打印输出

2017-10-10 20:27:01 211

原创 替换空格

前提:数组必需有多余的空间 1. 先遍历一遍字符串,求出字符串的长度和空格数 2. 求出新字符串的长度 3. 从新字符串的尾部开始将旧字符串开始的不是空格的移动到新字符串的尾部,如果遇到空格,则将用替换的字符放到扩展的位置并移动 例如: #include char* newstring(char* s)             //O(n) { int i = 0

2017-10-10 19:55:34 143

原创 c++中的操作符重载

1. 通过operator关键字可以利用函数扩展操作符 2. operator的本质是通过函数重载实现操作符重载 3. 应用于类中并且重载函数为全局函数时,要使用友元函数(关键字friend) 4. 当重载函数为类中的成员函数时, 不用friend并且少一个函数参数 注意点: 1. 当无法修改左操作数的类时, 使用全局函数进行重载 2. =  []  ()  和  -> 只能通

2017-10-10 08:58:53 153

原创 查找算法

1. 二分法 (1)先将查找表排序 (2)取中间元素进行比较 1)若给定数据=中间元素,则查找成功 2)若给定数据 3)若给定数据>中间元素,则在中间元素右区间进行二分查找 例如: //递归版本:效率低,但可读性高 int binary_search(int *a, int low, int high, int key)     //O(logn) { int ret = -1

2017-10-09 20:27:48 135

原创 排序算法

1. 选择排序: 有i个元素,每一趟从i-1个待拍元素中选出关键字最小的元素,作为有序元素的第i个元素 例如: #include void swap(int *a, int *b) { int tmp; tmp = *a; *a = *b; *b = tmp; } void selectsort(int *a, int len) { int i,j; i

2017-10-09 11:48:23 219

原创 二进制中1的个数

两种解法: 第一种:常规解法 使用flag = 1这个数每次与原来的整数做与运算,然后向左移动的方式计算1的个数 例如: #include int Numbercount(int n) { int count = 0; unsigned int flag = 1; while(flag) { if(n & flag) count++; flag = fl

2017-10-09 10:08:26 156

原创 斐波那契数列的解法

第一种解法:递归,效率很低 #include long long facbonacci(int n) { if(n == 0) return 0; if(n == 1) return 1; return facbonacci(n-1)+facbonacci(n-2); } int main(void) { int n; int i; for(i = 0; i < 8;

2017-10-09 08:54:45 254

原创 字符设备和块设备的区别

1.字符设备是一种按照字节来访问的设备 2.在大部分Unix中,块设备不能按照字节处理数据,只能一次传输一个或者多个512个字节(或者更大的2次幂的数)的整块数据    而在Linux中允许块设备访问任意字节的数据 3.块设备可以随机访问(不按照顺序)数据,字符设备按照字节流的方式有序的访问数据

2017-10-07 10:22:02 1044

原创 进程

一、进程的生老病死 1.进程的创建                    (1)pid-t fork(void):fork创建子进程,把父进程数据空间、堆和栈复制一份;                                                          返回值(一般函数返回值有两个一般采用结构体储存):1)为0:子进程(从fork()函数后面开始运

2017-08-01 14:14:30 154

原创 scanf、sscanf、fscanf的总结

1.scanf的经典用法:scanf("%[set]",&buf);以屏幕(stdin为输入源)                                         set有两种情况:                                                                   (1)“set”:表示在输入的字符串中将匹配所有在set中出现的字

2017-08-01 09:10:53 699

原创 tftp配置

步骤: 若开发板上有tftp源代码    一、在linux下          1.下载工具包:sudo apt-get  install openbsd-inetd  tftpd  tftp          2.配置:sudo vim  /etc/inetd.conf                       将未注释的命令的末尾  /srv/tftp改成你想要的路径

2017-07-26 15:09:33 311

原创 linux下NFS服务器的安装与配置 亲测

步骤:          1.安装  sudo apt-get install nfs-kernel-server          2.配置主机linux :                      (1)sudo vim /etc/exports                      (2)在文件末尾加上:共享目录     服务IP (服务权限),例如:/opt/target 

2017-07-26 12:36:49 249

原创 交叉工具链的安装

1. 下载工具链的安装包 2. 将安装包复制到/usr/local/arm目录下(需要权限:sudo) 3.解压缩 4.修改环境变量     (1)cd到家目录     (2)vim  .bashrc(“.bashrc”环境变量设置文件)     (3)在文件末尾加上export PATH=/usr/local/arm/arm-2009q3/bin:$PATH     (4)重启终端

2017-07-26 09:41:08 241

原创 数组和链表的区别

一、从内存角度上看     1.数组静态分配内存,链表动态分配内存;     2.数组在内存中连续,链表不连续;     3.数组元素在栈区,链表元素在堆区; 二、从逻辑角度上看     1.数组利用下标定位,时间复杂度为O(1),链表定位元素时间复杂度O(n);     2.数组插入或删除元素的时间复杂度O(n),链表的时间复杂度O(1)。 总结: 如果需

2017-07-26 08:10:02 305

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除