- 博客(98)
- 收藏
- 关注
原创 VM网络配置的相关问题
VM网络配置的相关问题桥接模式:把虚拟机当做局域网络中的一台机器,会占用局域网络中的IP地址,但此局域网络中的其它机器可以访问虚拟机。 NAT模式(network address translation): 在本地电脑中虚拟出一个网卡,不会占用局域网络中的IP地址,但此局域网中的其它机器不能访问此虚拟机。可多看到:在桥接模式下,4个IP地址处于同一网络下,所以可以互相访问,但要多...
2018-04-15 10:30:16
13071
原创 gdb
gdbGUN Debugger注意在程序编译过程中,使用-g选项 gcc -g -o test test.cgdb filename 这里的filename是可执行文件,而不是源文件基本命令file命令quit: shell: 切入shell当中exit:从shell界面退出到gdblist:列出调试程序的源代码 list list n ...
2018-04-13 19:26:21
12736
原创 动态规划之神奇的口袋
动态规划之神奇的口袋题目有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40。 John现在有n(1≤n ≤ 20)个想要得到的物品,每个物品的体积分别是a1, a2……an。 John可以从这些物品中选择一些,如果选出的物体的总体积是40,那么利用这个神奇的口袋, John就可以得到这些物品。现在的问题是, John有多少种不同的选择物品的方式。...
2018-04-09 22:03:20
14543
1
原创 动态规划之最佳加法表达式
动态规划之最佳加法表达式题目有一个由1..9组成的数字串.问如果将m个加号插入到这个数字串中,各种可能形成的表达式中,值最小的那个表达式的值是多少?解析假设数字串的长度为n,有m个括号,插入的所有可能性为n!/m!。如果要把所有可能性全部计算出来再找出最小值,这样计算的时间复杂符是巨大的。换一个角度思考,从后往前来看:若最后一个加号添加完毕,由于无论加号的位置怎样变化,...
2018-04-09 17:00:57
29072
1
原创 斐波那契数列的若干解法
斐波那契数列的若干解法什么是斐波那契数列斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=1,F(1)=1, F(n)=F(n...
2018-04-07 18:12:26
13396
原创 动态规划之最长公共子序列
动态规划之最长公共子序列问题给出两个字符串,求出这样的一 个最长的公共子序列的长度:子序列 中的每个字符都能在两个原串中找到, 而且每个字符的先后顺序和原串中的 先后顺序一致。Sample Input: abcfbc abfcab programming contest abcd mnpSample Output: 4 2 0解析对于动态规划的...
2018-04-05 16:44:53
12792
原创 vim基本操作
vim基本操作进入插入模式进入插入模式有一下几种方法: 1. [i] 在当前光标处插入 2. [o] 在当前光标的下一行行首插入(重新开辟一行) 3. [O] 在当前刚标的上一行行首插入(重新开辟一行) 4. [a] 在当前光标的下一个格位置处插入 5. [s] 先删除当前光标处的字符,然后再在光标处插入移动光标基本操作[h] 向左移动一格 [j] 向下...
2018-04-01 17:01:48
12846
原创 Linux权限
Linux权限说明权限符号r: 读权限 w: 写权限 x: 执行权限 特殊权限:s 和 t s权限:强制位。 t权限:粘贴位。让普通用户可以cp,不可以mv、rm。t权限有效的前提是普通用户有x权限用户符号u:拥有者 g:拥有者同组 o:其他用户 a: 所有用户权限说明r、w、x 对应位为1,表示拥有该权限 同时,可以把...
2018-03-31 17:37:29
13028
原创 C语言之柔性数组
C语言之柔性数组什么是柔性数组?C99 中,结构体中的最后一个元素允许是未知大小的数组,这就叫做『柔性数组』成员。 说白了,柔性数组是数组。只不过这是一种特殊的数组——先给出数组大小,然后再根据给出的大小定义柔性数组的大小(用多大就开多大)。定义柔性数组定义柔性数组存在于结构体的内部,并不像C++那样直接在数组里填一个变量。柔性数组的定义必须借助结构体实现,例如:...
2018-03-30 21:04:59
12996
原创 动态规划之最长上升子序列
动态规划之最长上升子序列问题描述输入数据 输入的第一行是序列的长度N (1 <= N <= 1000)。第二行给出 序列中的N个整数,这些整数的取值范围都在0到10000。 输出要求 最长上升子序列的长度。 输入样例 7 1 7 3 5 9 4 8 输出样例 4输入样例 9 2 7 1 5 6 4 3 8 9输出样例 5解法一:递归式...
2018-03-29 16:42:00
13524
原创 C语言几种特殊的自定义类型
C语言几种特殊的自定义类型结构体结构体的创建可以在创建结构体的时候添加结构体的标签tag,用来为该结构体取唯一的名字,以便于和其它结构体区分开。struct tag{ member_list;} variable_list;也可以在创建结构体的时候不加标签,声明为一个匿名结构体。如:struct{char name[20];//名字int a...
2018-03-29 14:15:56
13505
原创 动态规划之数字三角形
动态规划之数字三角形问题描述问题: 给定一个由n行数字组成的数字三角形,如下图所示: 试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大(每一步只能从一个数走到下一层上和它最近的左边的数或者右边的数)。输入格式: 第一行是数字三角形的行数,接下来 n 行是数字三角形中的数字。 输出格式: 最大总和(整数) 样例输入 5 7 3...
2018-03-28 11:24:23
17501
原创 Linux七种文件类型
Linux七种文件类型实,在磁盘上存储- 普通文件 touch d 目录文件 mkdir l 软连接文件 ln -s虚,不在磁盘上存储c 字符设备文件 b 块设备文件 p 管道文件 mkfifo s socket文件 ...
2018-03-25 15:38:15
13878
1
原创 C语言之回调函数
C语言之回调函数回调函数就是一个通过函数指针调用的函数。 在c语言中,有一个叫做qsort函数,就是利用了函调函数完成了对任意类型数据的快速排序。 今天,我写了一个对任意类型进行插入排序的函数: insert_sort()/*对buf 指向的数据(包含num 项,每项的大小为size)进行快速排序。如果函数compare 的第一个参数小于第二个参数,返回负值;如果等于返回零值...
2018-03-22 16:15:09
13230
原创 Linux shell特殊字符
Linux shell特殊字符通配符星号(*)匹配任意字符 try*c //匹配: try1.c try.c try.basic问好(?)匹配任意单个字符方括号([])匹配括号里所限定的任何一个字符[Mm]akefile //匹配Makefile makefilefile[1-5] //匹配file1...
2018-03-22 11:37:04
25814
原创 Linux文件树
Linux文件树//根目录。是Linux文件系统的第一层目录,一般该目录下只存放目录,包括但不限于:/bin, /dev, /home, /boot, /var, /root, /etc, /opt, /usr, /mnt, /tmp/bin以二进制存放一些命令,如: ls, cd, mv, rm/dev存放Linux系统下的设备文件/home系...
2018-03-22 11:36:33
13756
原创 Linux的常用命令二
find基本用法find 路径 -name 文件名 文件名支持模糊搜索搜索结果为文件经典用法find 路径 -name 文件名 | xargs grep 关键字在文件下查找关键字,常用于在工程下查找函数date时间转时间戳 date +%s时间戳转时间 date -d @时间戳 +”%F %T” %F: 年-月-日 %T...
2018-03-22 11:35:59
12839
原创 指针深度理解
深度理解指针指针指针是什么? 就一句话,指针就是地址。指针里面存的是地址而不是像int、char等里面存的是具体的值,而对指针里的地址解引用之后才可以得到具体的值指针数组int *p1[10];操作符“[]”的优先级比“*”高,所以p1先和“[]”结合,形成数组,之后这个数组再和“*”结合,形成指针数组。换句话说,在上述定义里面,p1是一个数组,只不过这个数组有点特...
2018-03-22 11:34:29
12885
原创 C语言写日历
用C语言写一个日历#include<stdio.h>/*1970-1-1 星期四*/// 以1970-1-1作为基准int start_year = 1970;int start_month = 1;int start_day = 1;//将以char输进来的字符串转换成int型,并完成错误检查和信息筛选int char_to_int(char *s, ...
2018-03-22 11:33:30
13885
原创 复习C语言随笔 十四
main函数参数1.使用main函数的参数,实现一个整数计算器 要求: 程序可以接受三个参数,第一个参数“-a”选项执行加法,“-s”选项执行减法,“-m”选项执行乘法,“-d”选项执行除法,后面两个参数为操作数。 例如:命令行参数输入:test.exe -a 1 2 执行1+2输出3 #include<stdio.h>#include<...
2018-03-21 09:25:13
12710
原创 3.17之模拟实现字符串函数
字符串函数模拟实现1. 实现strcpy#include<stdio.h>#include<string.h>#include<assert.h>char *my_strcpy(char *des, const char *source){ char *p = des; const char *q = source; ...
2018-03-21 09:24:33
12700
原创 2018.3.17
2018.3.171. 一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。 找出这两个数字,编程实现。#include<stdio.h>int main(){ int result[10] = {0}; int a[18] = {0}; int n; int i; int max = 0; printf("...
2018-03-21 09:24:07
12655
原创 3.14之可变参数
可变参数心得例子使用可变参数,实现函数,求函数参数的平均值。#include<stdio.h>#include <stdarg.h>int my_average(int n, ...){ va_list arg; int result = 0; int i = 0; va_start(arg, n); w...
2018-03-21 09:23:47
12710
原创 3.14之递归
递归练习1. 递归和非递归分别实现求第n个斐波那契数。递归#include<stdio.h>int fib(int n){ if(n < 3) return 1; return fib(n-1) + fib(n-2);}int main(){ int n = 0; printf("Please input a n...
2018-03-21 09:23:27
13224
原创 3.14之字符串翻转问题
字符串翻转问题1. 实现一个函数,可以左旋字符串中的k个字符。ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB#include&lt;stdio.h&gt;#include&lt;string.h&gt;char *overturn(char *a, int head, int tail){ char *p = a + head; cha...
2018-03-21 09:23:11
12725
原创 3.17之深度理解函数
深度理解函数这篇文章详细以一个简单的Add函数为例,分析了在函数调用过程中栈区的变化情况及相关寄存器的变化情况,并且在通过调用堆区内存的方式在不再调用函数的情况下在Add函数中强行插入另一个函数,有利于对加深理解C语言中函数实现方式的理解。 测试环境:win10 VC6 23位以下是测试代码#include<stdio.h>#include <Wi...
2018-03-21 09:22:52
12736
原创 复习C语言随笔 十
数据在内存中的存储从源码到执行编译环境: 编译–&gt;链接编译分为:预处理(预编译)–&gt; 编译 –&gt; 汇编 –&gt;链接每个源文件单独编译 ,生成对应 .obj 目标文件。预处理(-E): 对头文件的包含、对注释的删除、对宏定义符号的替换编译(-S): 把源代码转换成汇编代码,在此过程中进行语法分析、 词法分析、语义分析、符号汇总,对应.s文件...
2018-03-21 09:21:34
12680
原创 linux的常用命令
Linux 之 常用的若干条命令玩过Linux的人都会知道,Linux中的命令的确是非常多,但是玩过Linux的人也从来不会因为Linux的命令如此之多而烦恼,因为我们只需要掌握我们最常用的命令就可以了。当然你也可以在使用时去找一下man,他会帮你解决不少的问题。然而每个人玩Linux的目的都不同,所以他们常用的命令也就差异非常大,而我主要是用Linux进行C/C++和shell程序编写的...
2018-03-21 09:20:42
12685
原创 1.13
day131.调整数组使奇数全部都位于偶数前面。 题目: 输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。 #define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>void exchange(ch...
2018-03-20 17:54:30
12582
原创 复习C语言随笔 十三
整型类型在内存中的存储int main(){ char a = -128; // 10000000 00000000 00000000 10000000 // 11111111 11111111 11111111 01111111 // 11111111 11111111 11111111 10000000 // 11111111 11111111...
2018-03-20 17:53:57
12523
原创 复习C语言随笔 十二
数组类型int arr1[3]; //这里的arr1数组和arr2数组都是int型的数组int arr2[4]; //但它们各属于不同的类型: 前者类型为 int [3] 后者类型为 int [4] 大小端int a = 3; //00 00 00 03大端把一个数字的高位字节序的内容存储在低地址处,把低位字节序的内容存储到高地址处小端...
2018-03-20 17:53:39
12668
原创 复习C语言随笔 十一
复习C语言随笔 十一命令行定义许多C 的编译器提供了⼀种能⼒,允许在命令⾏中定义符号。⽤于启动编译过程。例如#include <stdio.h>int main(){ int array [ARRAY_SIZE]; int i = 0; for(i = 0; i< ARRAY_SIZE; i ++) { array[i] = i; } for...
2018-03-20 17:53:21
12517
原创 任意子祺
简介这个任意子棋向玩家提供任选棋盘大小、任选连珠数量功能。但缺点是电脑太傻只会随机落子、不能用鼠标点击、没有可视化的图形界面。这里的电脑下棋我使用的是随机函数,所以与玩家对战的电脑显得很智障。其实这也是类似于五子棋这一类棋牌游戏的难点所在。想要使电脑聪明,完全可以–人工智能啊深度学习啊什么的,但是明显我不会。在这里我想到了两种使电脑看起来“聪明”的办法,第一种:加上各种if语句来模拟各种情景下...
2018-03-20 17:52:56
12663
原创 C语言之扫雷
前言用C语言写出一个扫雷程序。像大家熟悉的电脑扫雷一样,如果选的位置有雷就结束游戏;如果没有雷,就标记出来周围格子雷的数量。这里写出来的扫雷不能用鼠标点击,也没有提供标记雷的功能,只在CMD黑框框里展示出来,所以看上去比较难看、用起来也没有windows系统自带的扫雷那样方便。设计要求 首先需要写一个展示功能,否则玩家拿什么扫其次,要对雷区进行随机布雷。这里布雷的要求是第一...
2018-03-20 17:52:26
12661
原创 六大排序算法
排序1.冒泡排序 冒泡排序是一种极其简单的排序算法,也是我所学的第一个排序算法。它重复地走访过要排序的元素,依次比较相邻两个元素,如果他们的顺序错误就把他们调换过来,直到没有元素再需要交换,排序完成。这个算法的名字由来是因为越小(或越大)的元素会经由交换慢慢“浮”到数列的顶端。 冒泡排序算法的运作如下:比较相邻的元素,如果前一个比后一个大,就把它们两个调换位置。对每一对相...
2018-03-20 17:51:37
14630
原创 2018.1.7
2018.1.71.编写函数: unsigned int reverse_bit(unsigned int value); 这个函数的返回 值value的二进制位模式从左到右翻转后的值。 如: 在32位机器上25这个值包含下列各位: 00000000000000000000000000011001 翻转后:(2550136832) 10011000000000000...
2018-03-20 17:50:26
12484
原创 1.5
1.编写函数:unsigned int reverse_bit(unsigned int value); 这个函数的返回 值value的二进制位模式从左到右翻转后的值。 如: 在32位机器上25这个值包含下列各位: 00000000000000000000000000011001 翻转后:(2550136832) 1001100000000000000000000000...
2018-03-20 17:50:03
12479
原创 1.4
1.5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A第一; 比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。#include<stdio.h>int main(){ int a=0; ...
2018-03-20 17:49:42
12469
原创 复习C语言随笔 九
断言assert(); 若该表达式为真,则它不发生什么事情 若表达式为假,则报一个断言失败的错,出错内容为assert()中的内容 NOTE:它只在Debug中起作用,所以可以在调试过程中用它作为某些判断且不用在Release中修改代码。...
2018-03-19 17:05:54
12491
原创 复习C语言随笔 八
复习C语言随笔 八NOTE: 我使用的编译器为64位,所以地址占8个字节#include<stdio.h>int main(){ // 一维数组 int a[] = {1,2,3,4}; printf("%d\n",sizeof(a)); //16 a的长度 printf("%d\n",sizeof(a+0));...
2018-03-19 17:05:14
12497
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅