![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言
夜猫子~~~
这个作者很懒,什么都没留下…
展开
-
C语言指针和数组详讲
目录一维数组数组名下标引用数组和指针多维数组多维数组存储顺序多维数组数组名与下标作为函数参数的数组检测及练习一维数组数组名int a;int b[10]在c中,在几乎所有使用数组名的表达式中,数组名的值是一个指针常量,也就是数组第1个元素的地址(要注意数组名在这里指的是一个地址)。它的类型取决于数组元素的类型:如果它们是int类型, 那么数组名的类型就是“指向int的常量指针”;如果它们是其他类型,那么数组名的类型就是“指 向其他类型的常量指针”。同时,还要注意这并不代表数组就等同于指针,数组有原创 2020-08-23 18:36:14 · 323 阅读 · 0 评论 -
C语言递归(栈与递归)
为什么引入递归一个比较浅显点的可能认为递归是无限循环而已,自己用循环完全可以代替。递归之所以现在还存在是因为递归可以产生无限循环体,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来解递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归递归函数递归就是一个函数在它的函数体内调用它自身。执行递归函数将反复调用其自身,每调用一次就进入新的一层。递归三个要素函数功能:明确递归函数的功能有助于理解为什么使用递归执行以及递归过程结束条件:这个原创 2020-08-19 18:27:24 · 2593 阅读 · 2 评论 -
C语言常见易混易犯错误(C语言陷阱与缺陷前三章基础内容总结)
目录概览C语言陷阱与缺陷之词法陷阱=不同于==词法分析中的“贪心法”字符与字符串C语言陷阱与缺陷之语法陷阱运算符优先级问题作为语句结束标志的分号switch语句悬挂else引发的问题C语言陷阱与缺陷之语义陷阱指针和数组非数组的指针(字符串数组的使用及动态分配)作为参数的数组声明指针混淆边界问题概览C语言陷阱与缺陷之词法陷阱=不同于==比较运算误写为赋值运算while(c=' '|| c=='/t'||c=='/n')c=getc(f);如上例代码,原来应该为c==’ '为判断,但是改为原创 2020-08-05 23:14:40 · 459 阅读 · 0 评论 -
数据结构之排序(C语言实现,插入,希尔,归并,快排)
文章目录排序插入排序希尔排序归并排序排序插入排序算法实现:直接插入排序是一种最简单的插入排序。插入排序:每一趟将一个待排序的记录,按照其关键字的大小插入到有序队列的合适位置里,知道全部插入完成。从其他文章上看到一个很好的打牌的例子。假设你有6,5,3,7,4张牌,从5开始移动,第一趟移动一次,将5置于6前(56374),第二趟从3开始移动,移动两次移动到5之前(35674),第三趟7比6大不移动,第四趟4移动3次到5之前,好了连就凑好了。可以看出,n个数就需要排n-1趟。假设一组数中,有N个原创 2020-07-19 10:54:21 · 503 阅读 · 0 评论 -
avl树(带有平衡条件的二叉查找树)—C
文章目录二叉查找树avl树的创建代码实现(递归)代码测试二叉查找树如图为二叉查找树:1.左子树的所有节点小于根节点2.右子树的所有节点大于根节点3.左右子树均为二叉查找树关于二叉查找树的创建可以参考下面这个文章:二叉查找树的创建和基本操作—c语言引入avl树的原因:二叉查找树的特点就是能够快速查找数据,如上图,若查找2,则从左子树开始查找,若查找8,则从右子树查找。所以说,二叉查找...原创 2020-04-26 23:24:14 · 153 阅读 · 0 评论 -
二叉查找树的创建和基本操作—c语言
二叉查找树:1.左子树的所有节点小于根节点2.右子树的所有节点大于根节点3.左右子树均为二叉查找树思想:1.各种操作均利用递归来实现2。基本操作有创建,插入,删除,查找元素,最大值最小值这里对删除操作进行解释删除:(1)若所要删除的节点为叶子结点(没有孩子),直接删除该节点。(2)若所要删除的节点有一个孩子结点,则孩子结点代替所要删除的节点。以左孩子为例:(3)当所删节点有两个...原创 2020-04-22 00:01:41 · 909 阅读 · 0 评论 -
表达式二叉树构造和遍历(C)
文章目录思想代码实现思想1.将输入的中缀表达式转化为后缀表达式。2.用后缀表达式构造表达式二叉树。3.检验二叉树是否创建成功。采用的是递归遍历,三种常规遍历先中后序遍历。4.后缀表达转换:优先级±</<^<(),当a中的字符为数字时直接放入b,为运算符时根据优先级入栈(S1),优先级高的位于栈顶。()运算符较为特殊,当遇到左括号时入栈,直到遇到右括号才出栈,且出栈是括...原创 2020-04-06 21:13:19 · 974 阅读 · 1 评论 -
数据结构之循环队列(C语言实现)
#include<stdio.h>#include<stdlib.h>typedef struct QueueRecord { int Capacity; int Front; int Rear; int* array;}*Queue;int IsEmpty(Queue Q);//判断队是否为空int IsFull(Queue Q)...原创 2020-04-03 10:45:53 · 150 阅读 · 0 评论 -
栈的应用:中缀转后缀(逆波兰)实现简易计算器(C)
思想:1.先将字符串的中缀白表达式转化为后缀表达式,然后利用后缀表达式将数字字符串转为整型,利用后缀表达式进行计算。2.实现步骤:首先需要创建两个栈,一个栈(s1)存放字符串,一个栈(s2)存放浮点数,两个数组a,b。进行中缀转后缀的过程时,先将输入的字符串存入数组a中,从a中抽取字符,经过转换(转换过程利用栈S1)存入数组b中。进行后缀的计算时,从b中抽取字符,将数字字符转化为整型,利用栈S...原创 2020-03-27 17:21:47 · 191 阅读 · 0 评论 -
C语言栈的实现(链表和数组)
文章目录思想链式栈数组栈参考书籍思想思想:1、栈模型:基本操作有Push(入栈)和Pop(出栈),元素符合先进后出,即最先入栈的元素最后出栈。2、链式:主要以链表的形式构成一个栈。入栈即是采用头插法构造链表(符合先进后出),出栈只要遍历链表即可,并记录栈顶元素。最后将链表释放。3、数组:首先我们可以直接使用数组(array)构造栈,利用top(初始化为-1),元素进栈则top+1,arr...原创 2020-03-23 18:46:58 · 366 阅读 · 0 评论 -
链表实现基数排序(C语言)
基数排序原创 2020-03-21 19:00:43 · 887 阅读 · 0 评论 -
C语言神奇的指针——对指针的理解
是自己对指针的理解,希望对大家有用:指针原创 2020-03-11 18:21:17 · 228 阅读 · 0 评论