c
文章平均质量分 67
Y—X
这个作者很懒,什么都没留下…
展开
-
C语言isalpha函数介绍
isalpha()语法:头文件:#include <ctype.h>函数声明:int isalpha(int c);功能:如果参数是字母字符,函数返回非零值,否则返回零值。代码演示:#include <stdio.h>#include <ctype.h>int main(){ printf("isalpha('A')=%d\n",isalpha('A'));原创 2021-02-14 19:44:41 · 1595 阅读 · 0 评论 -
数据结构——排序
目录1.排序的概念2.常见的排序算法的实现:2.1直接插入排序:2.2希尔排序:2.3 选择排序2.4堆排序2.5 冒泡排序2.6快速排序2.6.1 hoare版本2.6.2 挖坑法2.6.3 前后指针版本2.7 归并排序2.8 计数排序3.排序算法复杂度及稳定性分析3.1稳定性:1.排序的概念所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。内部排序:数据元素全部放在内存中的排序。外部排序:数据元素太多不能同时放在内存中,根据排序过程的要求不能在内外存之间移动原创 2021-01-30 16:44:08 · 662 阅读 · 0 评论 -
数据结构——二叉树的实现
目录1.二叉树的的链式结构2.通过前序遍历的数组"ABD##E#H##CF##G##"构建二叉树3.二叉树的销毁4.二叉树的结点个数和叶子结点的个数5.二叉树第k层节点个数6.二叉树查找值为x的节点7.先中后序遍历二叉树7.1二叉树的前序遍历7.2二叉树的中序遍历7.3 二叉树的后序遍历8.层序遍历9. 判断二叉树是否是完全二叉树1.二叉树的的链式结构typedef char BTDataType;typedef struct BinaryTreeNode{ BTDataType _data;原创 2021-01-22 16:39:20 · 578 阅读 · 0 评论 -
数据结构——堆
堆1.堆的概念2.堆的实现2.1堆的向下调整算法2.2堆的构建2.2.1构造最小堆2.2.2时间复杂度分析:2.3堆的插入2.4 堆的删除,取堆顶元素,取堆的数据个数,堆的判空3.堆排序3.1 (小堆)降序1.堆的概念1、堆是一颗完全二叉树(适合使用顺序结构存储);2、堆中的某个结点的值总是大于等于(最大堆)或小于等于(最小堆)其孩子结点的值。3、堆中每个结点的子树都是堆树。2.堆的实现2.1堆的向下调整算法我们给出一个数组,逻辑上看做一颗完全二叉树。我们通过从根节点开始的向下调整算法可以原创 2021-01-16 20:18:18 · 1535 阅读 · 2 评论 -
数据结构——栈(Stack)和队列(Queue)
文章目录栈和队列1.栈的定义1.1栈的顺序存储结构1.2基于动态数组实现的顺序栈2.队列的定义2.1队列的链式存储结构2.2基于单链表实现的链队列栈和队列1.栈的定义栈(stack)是限定仅在表尾进行插入和删除操作的线性表。我们把允许数据插入和删除的一端称为栈顶(top),另一端称为栈底(bottom),不含任何数据元素的栈称为空栈。栈又称为后进先出(Last In First Out)的线性表。1.1栈的顺序存储结构栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优一些。因为数组原创 2021-01-07 23:29:40 · 547 阅读 · 4 评论 -
Leetcode第138题——复制带随机指针的链表
题目分析: 这道题要我们拷贝一个链表并返回拷贝链表的头节点。我们画图来分析思路:1.如图所示我们拷贝每一个节点,并连接到原节点的后面//1.拷贝节点,连接到每一个原节点的后边 struct Node* cur = head; while(cur) { struct Node* copy = (struct Node*)malloc(sizeof(struct Node)); copy->next = NULL; copy-&g..原创 2020-12-30 14:23:52 · 443 阅读 · 0 评论 -
c语言实现三子棋游戏
使用C语言实现三子棋关键是运用到二维数组的知识,在这里我们使用多文件编程来实现这个程序,我们需要建立一个头文件,两个源文件来实现:头文件:game.h //包含函数各种声明,宏定义源文件:main.c //主要负责测试整个代码源文件:game.c //包含各种函数的定义整体思路:玩家的棋为字符 ‘x’,电脑的棋为字符 ‘0’。1.先用二维数组构造一个棋盘,这个棋盘各个位置需要初始化为空格 char board[ROW][COL]; memset(board, ' ', sizeof(boar原创 2020-10-24 20:24:10 · 361 阅读 · 0 评论 -
C语言实现扫雷小游戏
扫雷大家应该都玩过,这是一个十分经典的游戏,今天我将给大家讲解如何用C语言多文件编程实现扫雷,我的这个扫雷有如下几个功能:显示该点周围雷的个数坐标周围没雷,可以实现展开游戏结束后展示玩家用时我们只要输入坐标就可以扫雷了!我们要用几个算法模块来模拟游戏规则,需要用函数来调用各个模块使游戏跑起来,那么第一步我们就要构思一个棋盘,全是 * 的棋盘是给玩家扫雷用的。我们用二维数组来打印两个棋盘,假如我们要打印10X10的棋盘,那我们的二维数组元素也要为10X10个吗?,不能,因为我们在设计算法时需要统原创 2020-10-31 20:57:36 · 453 阅读 · 1 评论 -
数据在内存中的存储c语言
数据类型介绍基本内置类型char //字符数据类型short //短整型int //整形long //长整型long long //更长的整形float //单精度浮点数double //双精度浮点数类型的意义使用这个类型开辟的内存空间大小(大小决定了适用范围)。如何看待内存空间的视角。在32位平台下,任何指针类型都只占4个字节。类型的归类:整形家族:char un原创 2020-11-11 22:56:53 · 475 阅读 · 0 评论 -
库函数的使用和注意事项
字符函数和字符串函数库函数链接: link.重点介绍处理字符和字符串的库函数的使用和注意事项求字符串长度strlen长度不受限制的字符串函数strcpystrcatstrcmp长度受限制的字符串函数介绍strncpystrncatstrncmp字符串查找strstrstrto错误信息报告strerror函数介绍strlen:size_t strlen (const char * str);字符串已经 ‘\0’ 作为结束标志,strlen函数返原创 2020-11-18 22:00:53 · 913 阅读 · 0 评论 -
模拟实现库函数memmove 和memcpy以及它们的区别
函数作用及差别memcpyvoid * memcpy( void * destination, const void * source ,size_t num);1.函数memcpy从source的位置开始向后复制num个字节的数据到destination的内存位置。2.这个函数在遇到’\0’的时候并不会停下来3.如果source和destination有任何的重叠,复制的结果都是未定义的memmovevoid * memmove( void * destination, const v原创 2020-11-21 22:43:14 · 436 阅读 · 0 评论 -
自定义类型:结构体(内存对齐),位段,枚举,联合
结构体结构体的声明结构体的基础知识结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。1.结构的声明struct tag //结构体类型名{ member_list;//结构体成员列表 };注意:1. 声明结构体类型时,必须用关键字struct,这里的tag可以省略,但最好不要省略。2. 这里只是声明了结构体类型,实际并不占用内存,只有定义了结构体变量,才占用内存。3. 结构体每个成员可以是相同或不同的类型的变量,但必须至少有一个成员变量。比如原创 2020-11-23 22:01:37 · 534 阅读 · 0 评论