C语言
喜欢喝茶的猫
这个作者很懒,什么都没留下…
展开
-
C语言-简单插入排序
1、简单插入排序 直接插入排序是一种简单的插入排序法,其基本思想是:把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列。2、时间复杂度当数据正序时,执行效率最好,每次插入都不用移动前面的元素,时间复杂度为O(N)。当数据反序时,执行效率最差,每次插入都要前面的元素后移,时间复杂度为O(N^2)。所以,数据越接近正序,直接插入排序的算法性能越好。3、空间复杂度由直接插入排序算法可知,我们在排序过程中...原创 2021-11-09 10:31:08 · 2767 阅读 · 0 评论 -
单片机滤波算法——限幅滤波法、中位值滤波法、递推平均滤波法
算法思想比较相邻 n 和 n - 1 时刻的两个采样值 y(n)和 y(n – 1),根据经验确定两次采样允许的最大偏差。如果两次采样值的差值超过最大偏差范围 ,认为发生可随机干扰 ,并认为后一次采样值 y(n)为非法值 ,应予删除 ,删除 y(n)后 ,可用 y(n – 1) 代替 y(n);若未超过所允许的最大偏差范围 ,则认为本次采样值有效。C语言实现#define A 10 //最大偏差值char filter(char Old_value,char New_Value){原创 2020-05-10 20:01:57 · 2585 阅读 · 0 评论 -
C语言-顺序查找、二分查找
查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常用的基本运算,例如编译程序中符号表的查找,字段的查找,等等。1顺序查找顺序查找也称为线形查找,属于无序查找算法。从数据结构线形表的一端开始,顺序扫描,依次将扫描到的结点关键字与给定值k相比较,若相等则表示查找成功;若扫描结束仍没有找到关键字等于k的结点,表示查找失败。顺序查找的数据可以是有序的,也可以是无序的。...原创 2020-04-25 14:24:51 · 850 阅读 · 0 评论 -
冒泡排序算法(C语言版)
1基本原理冒泡排序是一种稳定排序,时间复杂度平均为O(n^2),最好的时间复杂度为O(n),最坏为O(n^2)。排序时每次只比较当前元素与后一个 元素的大小,如果当前元素大于后一个元素,则交换,如此循环直到队尾,每轮排序都可以保证将当前排序下最大的元素送到未排序部分的队尾。每次大排列中都要比较当前元素与后一个元素的大小,每轮要比较n-1次,但是因为之前的每一轮都将一个元素放置到了正确的......原创 2020-01-05 16:32:02 · 35050 阅读 · 3 评论 -
C语言-链表
目录1基本原理2链表的基本操作2.1节点构造2.2建立链表头2.3建立链表并输入数据2.4在链表头插入节点2.5在链表尾插入节点2.6链表排序-值交换2.7删除节点2.8释放链表2.9输出链表1基本原理 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一...原创 2019-12-20 15:10:34 · 1467 阅读 · 0 评论 -
C语言—判断一年中的第几天
1基本思路假设求解的是n年m月l日,就是将前n-1个月的天数累加起来得到sum,再加上当月的l,就是sum+l只是不是每个月的天数都是一样的而已,还要注意n年是否是闰年,从而修改当年2月的天数。2闰年的判断方法判断任意年份是否为闰年,需要满足以下条件中的任意一个:① 该年份能被 4 整除同时不能被 100 整除;② 该年份能被400整除。3程序int WHICH_...原创 2019-12-16 16:55:07 · 4845 阅读 · 0 评论 -
C语言-快速排序
转载自:https://blog.csdn.net/nrsc272420199/article/details/82587933转载 2019-12-15 17:16:31 · 96 阅读 · 0 评论 -
LMS算法的C语言实现
迭代过程:1.2.3.u是步长因子,控制算法的收敛速度。matlab版的LMS算法代码参考:https://blog.csdn.net/qq_40893012/article/details/102778169#define M 8float WFilter[M];/* C语言版LMS算法 未经验证可能会有些问题* matlab参考(已验证)*https://...原创 2019-12-12 22:20:06 · 2537 阅读 · 0 评论 -
C语言-选择排序算法
1 原理 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。 选择排序法的第一层循环从起始元素开始选到倒数第二个元素,主要是在每次进入的第二......原创 2019-12-06 19:37:52 · 3404 阅读 · 0 评论 -
C语言-递归法求斐波拉切数列
1斐波拉契数列 斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-......原创 2019-11-30 15:02:15 · 2490 阅读 · 0 评论 -
C语言-求阶乘和的两种方法
方法一:递归法 /** 递归法 求阶乘和 * */long Factorial_sum_way1(int m) { if(m==1) return 1; else return Factorial_way1(m)+Factorial_sum_way1(m-1); }方法二:循环法/** 循环法 求阶乘和 * */lo......原创 2019-11-27 21:24:34 · 9148 阅读 · 0 评论 -
C语言-求阶乘的两种方法
方法一:递归法求阶乘long Factorial_way1(int m) { if(m==1) return 1; else { return m*Factorial_way1(m-1); } }方法二:循环法求阶乘long Factorial_way2...原创 2019-11-26 19:57:39 · 20411 阅读 · 0 评论