- 博客(6)
- 收藏
- 关注
原创 使用clang获取代码中的全局变量、函数(名称,参数,返回值)、结构体信息
1.下载clang源码本人使用的为clang10.0,visual studio版本为2017(亲测2019会有问题)clang源码下载地址为 https://releases.llvm.org/download.html#10.0.02.编写clang插件1.解压刚才的源码,进入到llvm\tools\clang\tools\extra目录下,创建文件夹,为自己的项目名称。2.进入到自己项目名称的文件夹,将自己写好的c文件和h文件放到此文件夹中。新建文件CMakeLists.txt3.编
2021-11-15 16:22:08 5037 1
原创 C语言排序(五)——插入排序与归并排序算法比较
一.实验内容:1、 编写函数分别实现插入排序和归并排序算法2、 编写主函数通过调用函数实现对待排数据的调用3、 待排数据利用随机函数循环产生10万个以上的数据4、 利用求系统时间的函数,分别求出2个排序函数调用前和调用后的时间,计算出插入排序运行时间和归并排序的运行时间5、 算法的比较:(1)
2017-12-08 11:38:39 3082
原创 C语言排序(四)——三种方法实现斐波那契数列
一.实验目的:通过3种算法来实现斐波那契数列,并比较3种算法的运行速率来体会循环,递归和分治是如何提高算法的运行效率的。二.实验内容: ①利用多种方法实现斐波那契数列分别可用循环,递归和分治3种方法,并由此估算三种算法的时间复杂度,比较三种算法的运行效率。 ②首先定义主函数分别定义3个时间变量来作为三种算法的运行时间,并且在主函数里输入斐波那契数列的个数n值。 ③定义循环
2017-12-08 11:23:13 3294 2
原创 C语言排序(三)——快速排序与随机化快排
一、实验目的:快速排序是将问题分解,在众多排序中速度较快,但快速排序存在局限性,在有序序列的排序中速度就会减慢,所以对快速排序进行优化,用随机化快排与快排时间进行比较。二、实验内容:1.分解是将输入数组A[l..r]划分成两个子数组的过程。选择一个p,使得a被划分成三部分,分别是a[l..p-1],a[p]和a[p+1..r]。并且使得a[l..p-1]中的元素都小于等于(或大于等于)
2017-12-08 11:05:01 2303
原创 C语言排序(二)——二分查找
一.实验内容①顺序查找算法与二分查找算法比较。a.定义两个函数分别实现顺序查找和二分查找算法。b.主函数中用产生随机数的方式随机产生待查数据,通过调用口面编写函数查找指定的数据。c.测试数据分别选择:在1000 10000 1000001000000个数中查找指定数据,对比两个函数的运行时间。d. 得出结论这两个算法哪个效率高。②朴素算法与分治算法计算x的n次方的算法比
2017-12-08 10:48:00 1520
原创 C语言排序(一)——冒泡排序
一.实验原理冒泡排序算法的运作如下:(从后往前) 1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 3.针对所有的元素重复以上的步骤,除了最后一个。 4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数
2017-12-07 14:05:42 529
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人