c语言
文章平均质量分 65
程序猿是小贺
爱学习、知上进、善沟通、懂感恩
一个正在努力的大三学生,在为自己的未来奋斗,希望可以和大家一起进步!
如果你有什么问题欢迎前来骚扰,微信号Herman-001,私信可能回得慢一点,不要介意哈 没发文的时候是在好好学习
展开
-
面向过程与面向对象概述
1.面向过程与面向对象的区别面向过程关心的是过程,面向过程就是分析出解决问题需要的步骤,然后用函数将这些步骤依次调用实现。面向对象关心的是对象之间的交互,面向对象是把问题分解为各个对象,然后分析每个对象在解决问题中出现的行为。图示2.举例说明举例:洗衣服在这里插入图片描述3. 优缺点比较面向过程优点:流程化具体步骤清楚,便于节点分析。效率高,面向过程强调代码的短小精悍,善于结合数据结构来开发高效率的程序。缺点:耗费精力,代码重用性低,扩展能力差,后期维护难度比较大。面向对象原创 2021-08-20 16:28:39 · 4104 阅读 · 83 评论 -
这些二叉树基础OJ题你要是还不会,真的没有大厂敢聘用你!
前几天的文章中我写到了二叉树的操作实现但是一直都没有机会来自己刷刷OJ,今天他来了,准备了好几道题来供大家参考,加固一下我的知识顺便来巩固一下大家的理解,是不是一举两得呢?时间有限,我就不画图展示了,你们这么聪明一定可以看懂的对吧,大概的实现思路我会留在代码处,必要的朋友可以联系我一起讨论啊!原创 2021-06-06 08:55:58 · 1046 阅读 · 71 评论 -
数据结构C语言 《四》二叉树链式的实现及操作《下》
二叉树的链式结构的实现二叉树链式结构的遍历二叉树链式结构的实现--核心模块二叉树链式结构的实现--全代码二叉树链式结构的遍历遍历指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。二叉树链式结构的实现–核心模块开辟空间BTNode* BuyBinaryTreeNode(BTDataType x){ BTNode* node = (BTNode*)malloc(sizeof(BTNode)); if (NULL == node) { assert(0); return原创 2021-05-29 16:23:25 · 1422 阅读 · 72 评论 -
数据结构C语言 《四》二叉树,堆的基本概念以及堆的相关操作实现(上)
二叉树1.树1.1树的概念1.2树的表示2.二叉树2.1二叉树的概念2.2二叉树的性质2.3二叉树的存储方式2.4二叉树的遍历3.堆3.1堆的概念3.2堆的实现1.树1.1树的概念树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。有一个特殊的结点,称为根结点,根节点没有前驱结点除根节点外,其余结点被分成M(M>0)个互不相交的集合T1、T2、……、Tm,其中每一个集合Ti(1&原创 2021-05-25 10:55:00 · 2795 阅读 · 156 评论 -
数据结构c语言篇 《二》链表概述,增删改查等多功能实现及相关面试题(上)
链表概述链表概念链表的结构头节点和头指针链表的实现相关面试题1.移除链表元素2.反转链表3.链表的中间结点4.获取该链表中倒数第k个结点。5.链表相交概述链表概念链表,别名链式存储结构或单链表,用于存储逻辑关系为 “一对一” 的数据。与顺序表不同,链表不限制数据的物理存储状态,换句话说,使用链表存储的数据元素,其物理存储位置是随机的。链表的结构链表中每个数据的存储都由以下两部分组成:数据域指针域1.数据元素本身,其所在的区域称为数据域;2.指向直接后继元素的指针,所在的区域原创 2021-05-15 18:32:01 · 1007 阅读 · 35 评论 -
数据结构c语言篇 《二》带头双向循环链表实现以及链表相关面试题(下)
循环链表增删改查等多功能实现及相关面试题(下)链表双向循环链表的实现链表面试题(下)1. 合并两个有序链表2.链表分割3.环形链表4.环形链表25.复制带随机指针的链表6.对链表进行插入排序7.删除链表中重复的结点8.链表的回文总结与感悟链表借图镇楼双向循环链表的实现SHList.htypedef int DataType;typedef struct SHListNode{ struct SHListNode* next; DataType data;}Node;//初始化函原创 2021-05-19 13:28:58 · 951 阅读 · 40 评论 -
模拟实现qsort atoi函数,小白快来看
模拟实现qsort及atoi函数qsort函数函数简介函数声明参数功 能说明模拟实现qsortatoi函数简介模拟实现atoiqsort函数qsort函数C语言编译器函数库自带的排序函数。qsort 的函数原型是void qsort(voidbase,size_t num,size_t width,int(__cdeclcompare)(const void*,const void*)); 是base所指数组进行排序。qsort函数包含在C 标准库 - <stdlib.h>中。函数简介函原创 2021-05-12 18:13:45 · 641 阅读 · 26 评论 -
数据结构C语言 《一》斐波那契数 时间,空间复杂度详述
斐波那契数 时间,空间复杂度大O的渐进表示法推导大O阶方法:时间复杂度时间复杂度的概念空间复杂度空间复杂度的概念大O的渐进表示法推导大O阶方法:1、用常数1取代运行时间中的所有加法常数。2、在修改后的运行次数函数中,只保留最高阶项。3、如果最高阶项存在且不是1,则去除与这个项目相乘的常数。得到的结果就是大O阶。注意:有些算法的时间复杂度存在最好、平均和最坏情况:最坏情况:任意输入规模的最大运行次数(上界)平均情况:任意输入规模的期望运行次数最好情况:任意输入规模的最小运行次数(下界)原创 2021-04-30 00:11:45 · 2065 阅读 · 2 评论 -
c语言思维导图 超级详细,快来看!
在经过一段时间的c语言学习后,我针对自己的学习情况以及知识体系总结了一份c语言思维导图,此图是在大佬(lxf_style)的基础上我以自己的所学知识对其进行了部分修改与扩充,如有错误请大家帮忙指出哈有需要的朋友可以点赞收藏,以便于大家期末复习或者查漏补缺,谢谢!!!撒花,完结~...原创 2021-05-12 17:17:28 · 6606 阅读 · 8 评论 -
c语言 通讯录系统 增删改查 排序 动态内存开辟及文件保存与读取
c语言 通讯录系统 动态内存开辟及文件的保存与加载Contact.h 声明函数Contact.c 实现函数的具体功能test.c 进行测试一个最基本的通讯录系统,我们要实现的基本功能包括增删改查,并要在此基础上然后在对其进行各种扩充,比如排序,以及动态开辟内存进行存储,还有实现通讯录的文件保存和从文件中将已存的联系人加载并展示出来等等。因为我太ben了,这里就不一一给大家解释了,不过代码上大概都有相应的注释,大家参考,有错误的地方要及时给我指出啊,我这么笨的写完都很原创 2021-05-04 01:38:07 · 779 阅读 · 9 评论 -
c语言实现交换两个整数 三种常见方法
c语言实现交换两个整数的三种常见方法1. round 1定义一个临时变量tmp并把a的值赋给tmp,然后将b的值赋给a,最后将tmp中的值赋给b。int main(){ int a, b; scanf("%d%d", &a, &b); //输入两个整数 int tmp = a;//定义一个临时变量tmp并把a的值赋给tmp a = b; //将b的值赋给a b = tmp; //将tmp中的值赋给b printf("a=%d,b=%d", a, b);原创 2021-04-13 17:47:51 · 19731 阅读 · 7 评论 -
c语言 strcpy,strcat,strcmp函数模拟实现
##c语言 字符串拷贝,连接,比较用函数实现利用函数实现字符串拷贝#include<stdio.h>#include<stdlib.h>#include<assert.h>char *my_strcpy(char *str1, const char *str2){ //参数有效性检测 if (str1 == NULL&&str2 == NULL) { return NULL; }/*此处也可以运用断言assert(srt原创 2021-04-19 17:22:27 · 670 阅读 · 1 评论