- 博客(9)
- 收藏
- 关注
原创 时间复杂度和空间复杂度
算法的性能分析是算法设计中非常重要的方面,要想编写出能高效运行的程序,我们就需要考虑到算法的效率。 算法的效率主要由以下两个复杂度来评估: 时间复杂度:评估执行程序所需的时间。可以估算出程序对处理器的使用程度。算法的时间复杂度一般是问题规模的函数,通常用T=T(n)表示,其中,n表示问题的规模,即算法所处理的数据量。T表示算法所用时间。算法的执行时间=该算法所有语句执行次数(包括重复执行次数)* ...
2017-12-30 21:19:58 1138
原创 a与&a的区别
a是数组首元素的地址,&a是整个数组的首地址。a+1 就是指下一个数组元素的地址,一次移动一个元素地址。&a+1 就是一次移动一个数组大小个元素地址。从上面的编译结果可以看出,a,&a差4个字节,就是一个元素个字节。&和&a+1,差20个字节 ,就是 一个数组长度个字节。
2017-12-20 09:58:30 1186
原创 指向函数的指针的分析
函数指针变量常用的用途之一是把指针作为参数传递到其他函数。熟练使用函数指针变量对于你对C语言的了解有很高的帮助。不过这属于C语言的应用中比较深入的部分,所以要多加分析和编程。下面我举一个比较简单 的例子,设一个函数process,在调用他的时候,每次实现不一样的功能,输入a,b第一次调用process时找出a和b中大者,第二次找出小者,第三次求和。程序如下:#include<stdio.h&...
2017-12-15 20:56:58 426
原创 利用链表实现通讯录
用链表实现一个可以用来存储信息的通讯录,每个人的信息包括:姓名、性别、年龄、电话、住址程序如下:#include<stdio.h>#include<string.h>#include<stdlib.h>#define LEN sizeof(struct student) struct student{ int i; char...
2017-12-15 20:48:03 8626 4
转载 杂记一篇
一、博客保持更新频率(一年后的你会感谢现在的自己)二、整理所有文档时,注意条理,简洁,提取关键词三、内事问百度,外事问谷歌四、两个职位:嵌入式软件开发工程师 两个职位方向:研发岗 C/C++软件开发工程师 技术支持人员(经常出差)...
2017-12-10 00:40:56 365
原创 递归法实现汉诺塔
汉诺塔问题,作为一个古典的数学问题,是一个只能用递归调用解决的问题,问题是这样的:古代有一个梵塔,塔内有三个座A,B,C,开始时A座上有64个盘子,盘子大小不等,打的在下,小的在上,有个 老和尚想把64个盘子从A座移到C座,但每次只能移到一个盘子,且移动过程中在3个座上都保持大盘在下,小盘在上。在移到过程中可以利用B座,要求编程打印除移动的步骤。为使得问题简单化,我们先分析将A座上3个 盘子移动到...
2017-12-09 23:37:08 551
原创 利用c语言结构体实现通讯录
用结构体实现一个可以用来存储1000个人的信息的通讯录,每个人的信息包括:姓名、性别、年龄、电话、住址程序如下:#include<stdio.h> #include<string.h> #include<stdlib.h> struct People { char name[20]; char sex[5]; ...
2017-12-06 23:39:59 2957
翻译 malloc.h头文件以及malloc函数
malloc.h,动态存储分配函数头文件,当对内存区进行操作时,调用相关函数.。malloc函数是一种分配长度为num_bytes字节的内存块的函数,可以向系统申请分配指定size个字节的内存空间。说通俗点就是动态内存分配,当无法知道内存具体位置的时候,想要绑定真正的内存空间,就需要用到动态的分配内存。malloc 函数返回的是 void * 类型。void* 表示未确定类型的指针。C,C++规定...
2017-12-01 13:06:45 16043 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人