- 博客(12)
- 收藏
- 关注
原创 排序算法
八大排序算法:1.1 直接插入排序 基本思想:将一个记录插入到已排序好的有序表中,从而得到一个新记录数增1的有序表。具体来说就是,先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。 算法步骤:1. 将序列的第一个元素视为有序子序列①,第二个元素作为待排序元素和有序子序列①进行比较插入,得到有序子序列
2017-10-24 16:03:58
282
转载 C#委托Action、Action<T>、Func<T>、Predicate<T>
原博链接:http://www.cnblogs.com/maitian-lf/p/3671782.html CLR环境中给我们内置了几个常用委托Action、 Action、Func、Predicate,一般我们要用到委托的时候,尽量不要自己再定义一 个委托了,就用系统内置的这几个已经能够满足大部分的需求,且让代码符合规范。1、Action Action封装的方
2017-10-20 17:01:32
378
原创 C#中正则表达式的使用
C#中使用正则表达式主要是通过Regex类来实现,使用前需要包含命名空间:using System.Text.RegularExpressions1 Regex类中的主要方法 c#中通过Regex类使用正则主要有两种方法,一种是通过创建Regex对象,另外一种是在临时使用正则的情景下,无需创建Regex实例,直接使用包装器函数Regex.函数成员 1.1 创建Regex
2017-10-18 19:03:15
3074
原创 c#调用win32 API函数修改系统时间
一般来说,系统时间的修改可以通过win32 API函数库中的SetLocalTime函数进行设置。对于C#语言来说,虽然win32 API大部分函数都已经封装在了.NET Framework类库中,但C#中时间日期函数的
2017-10-14 20:21:20
2401
转载 C#计时器的三种实现方法
在.NET中有三种计时器:一、 System.Windows.Forms命名空间下的Timer控件,和所在的Form属于同一个线程。Timer控件只有绑定了Tick事件和设置Enabled属性为True之后才会自动计时,Stop()方法,Start()方法启动计时器重新计时;MyTimer.Enabled = true; //启动计时器MyTimer.Interval = 1000;
2017-10-11 15:12:30
55650
5
原创 C#练习:实现基本计算器功能,考虑运算符优先级
设计思路:1 用StringBuilder类变量StrData,动态保存用户输入的数据及运算符2 以加减运算符为分割符,对字符串进行分割,得到字符串数组StrDataArr[]3 遍历字符串数组StrDataArr,查找其中含有乘除运算的项,对该项进行计算4 经过乘除计算之后,数组StrDataArr存储的实际结果为加减运算符的操作数,再进行加减运算主要方法:Strin
2017-10-10 00:09:29
3352
转载 C语言中的整型溢出和移位溢出
1 整型溢出 原文链接:https://coolshell.cn/articles/11466.html 整型溢出,分为无符号整型溢出和有符号整型溢出。对于unsigned整型溢出,C的规范是有定义的——“溢出后的数会以2^(8*sizeof(type))作模运算”,也就是说,如果一个unsigned char(1字符,8bits)溢出了,会把溢出的值与256求模
2017-09-27 19:49:02
11659
3
原创 整数提升
测试过程中发现了数据相加超过类型范围的问题,以为是测试bug,查找资料才知道是运算过程中数据被整数提升了,这里一起学习总结一下整数提升和整型转换规则中的有符号数转换为无符号数。1 整数提升 C99标准中有明确提到整数提升的概念:"如果int能够表示原始类型中的所有数值,那么这个数值就被转成int型,否则,它被转成unsigned int型。这种规则被称为整型提升。所有其它类型都不会被
2017-09-27 15:07:33
2142
转载 物理地址、虚拟地址及逻辑地址
1 物理地址空间(Physical Address Space) 物理地址空间是实际存在于计算机中的,可以把它想象成物理内存。如在32位的机器上,物理空间的大小理论上可以达到2^32字节(4GB),但如果实际装在的内存不够4GB,那么有效的物理地址将会更少。例如,安装了1GB的内存的机器上,真正有用的物理地址空间应该是0x00000000~0x3FFFFFFF,余下部分在实际寻址中无效。
2017-09-27 14:02:14
1661
转载 C程序编译执行过程
C语言从源代码到可执行文件的过程:1 编译预处理 读取C源代码,对其中的伪指令(以#开头的指令)和特殊符号进行处理 伪指令主要包括以下四个方面: 1.1 宏定义指令 #define 定义宏 #undef 取消宏的定义 预定义宏:标准C中定义了一些对象宏,这些宏的名称以“__”(两个下划
2017-09-26 15:46:52
344
转载 C内存布局
C语言程序的内存空间主要有五个部分组成:代码段(.text)、数据段(.data)、BSS段(.bss)、堆、栈:C源代码到可执行文件的对应关系:可执行文件到程序被装载后的内存布局:1 BSS段 BSS段(bss segment)通常是用来存放程序中未初始化的全局变量和静态变量(文件内/函数内),这些未初始化数据在程序运行之前不需要占
2017-09-26 15:14:29
254
转载 typedef在结构体定义中的使用
原文链接:http://www.cnblogs.com/lzjsky/archive/2010/11/24/1886717.html一、结构体在代码中的两种常见定义形式 (1) 结构体类型定义 struct A { ... }; 定义{}中的结构体为一个名称是"A"的结构体。
2017-09-12 21:39:02
8326
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人