自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qq_29468639的博客

小菜鸟写的博客

  • 博客(23)
  • 收藏
  • 关注

原创 排序算法②——选择排序&&堆排序

排序算法②——选择排序&&堆排序选择排序基本思想直接选择排序参考代码直接选择排序的特性总结堆排序选择排序基本思想 选择排序的思想非常的简单,就是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完 。直接选择排序 在元素集合a[i]–a[n-1]中选择关键码最大(小)的数据元素若它不是这组元素中的最后一个(第一个)元素,则将它与这组元素中的最后一个(第一个)元素交换在剩余的a[i]–a[n-2](a[i+1]–a[n-

2022-02-07 20:13:20 399 21

原创 排序算法①——插入排序&&希尔排序

排序算法①——插入排序&&希尔排序直接插入排序基本思想参考代码直接插入排序特性总结希尔排序基本思想参考代码直接插入排序基本思想 对于单趟排序:把待排序的值插入到已经排好序的序列中。待排序的值逐一与序列中的值比较,直到找到自己的位置。全趟排序:把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列 。举一个单趟排序的例子2 4 8 9 10 假设我们需要将5插入到上面的升序序列中:1、首先5与10进行比较,

2022-01-27 20:28:06 2498 29

原创 C语言--二叉树

二叉树树的概念及结构树的概念树的相关概念树的表示二叉树的概念及结构二叉树的顺序结构及实现树的概念及结构树的概念树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一颗倒挂的树,也就是说它是根朝上,而叶朝下的。有一个特殊的结点,称为根结点,根节点是没有前驱结点的除根节点外,其余结点被分成N(N>0)个互不相交的集合,其中每一个集合又是一棵结构与树类似的子树。每棵子树的根结点有且只有一个前驱,可以有0个或多个后继。因此,树是递归

2021-12-08 18:50:13 6445 36

原创 C语言--栈和队列

栈和队列栈栈的概念及结构栈的实现(数组实现)队列队列的概念及结构队列的实现(链表实现)栈栈的概念及结构栈一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据也在栈顶。栈的实现(数组实现)栈的实现一般可以使用数组或者链表实现,相对而言数组

2021-11-20 17:10:54 550 22

原创 C语言链表

C语言链表链表的概念及结构概念结构链表的分类链表的实现双向链表的实现总结:链表和顺序表的区别链表的概念及结构概念链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 。结构代码struct Slist{ int* a; struct Slist* next;};逻辑结构:物理结构:链表的分类链表的实现双向链表的实现总结:链表和顺序表的区别...

2021-11-07 19:43:39 15594 23

原创 C语言顺序表

C语言顺序表概念及结构静态顺序表动态顺序表接口实现(动态)顺序表的优缺点优点缺点概念及结构顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。顺序表一般可以分为:静态顺序表:使用定长数组存储元素。动态顺序表:使用动态开辟的数组存储。静态顺序表代码实现#define N 10 //这表示顺序表最多存储的数据typedef int Datatype;typedef struct SeqList{ D

2021-10-31 19:33:12 1697 14

原创 C语言文件操作!!

C语言文件操作为什么使用文件什么是文件1.程序文件2.数据文件3.文件名文件的打开和关闭1.文件指针2.文件的打开和关闭文件的顺序读写文件的随机读写文本文件和二进制文件文件读取结束的判定为什么使用文件当我们运行程序时,我们想把我们运行程序时把写入的数据永久保存起来,而不是等程序结束后就被销毁只有我们自己将数据删除时,数据才将不复存在这就涉及到了数据持久化的问题,我们一般把数据持久化的方法有,把数据存放在磁盘文件、存放到数据库等方式。使用文件我们可以将数据直接存放在电脑的磁盘上,做到了数据

2021-10-23 11:35:07 1322 24

原创 实现简易通讯录(动态增长版)

简易版通讯录通讯录的基本功能通讯录存储的个人信息通讯录菜单初始化通讯录增加好友信息删除好友信息查找好友修改指定好友信息打印全部好友信息附上所有代码test.c文件contact.h文件contact.c文件通讯录的基本功能1. 首先是我们写的通讯录至少可以容纳1000人的信息。2.里面容纳的信息包括姓名,性别,年龄,电话号码,家庭住址3.该通讯录还需要有一些基本功能,比如,增加好友信息,删除好友信息,查询好友信息,修改好友信息,打印好友信息,对列表进行排序。通讯录存储的个人信息#defi

2021-10-04 11:13:26 1447 22

原创 带你了解柔性数组!!!!!

柔性数组什么是柔性数组柔性数组的特点使用柔性数组柔性数组的好处第一个优势第二个优势什么是柔性数组可能你从来没有听说过柔性数组这个概念,但是它确实是存在的。在C99标准中,结构中的最后一个元素允许是未知大小的数组,这就叫做柔性数组成员例如struct st_type{ int i; int a[];//柔性数组成员};也可以写成struct st_type{ int i; int a[0];//柔性数组成员};上面两种形式都是正确的,但是在不同的编译器中可能只能

2021-10-02 21:51:38 282 17

原创 常用的字符串函数详解

字符串函数strlen()介绍作用举例使用strlen()函数模拟实现strlen()函数strcpy()介绍作用举例使用strcpy()函数模拟实现strcpy()函数strcpy()函数注意事项strncpy()函数介绍举例使用strncpy()函数strcat()介绍作用举例使用strcat()函数模拟实现strcat()函数strcat()函数注意事项strncat()函数介绍举例使用strncat()函数strcmp()介绍作用举例使用strcmp()函数strncmp()函数strstr()介绍

2021-09-19 21:17:54 9356 22

原创 动手模拟strcpy()函数

模拟strcpy函数strcpy函数模型strcpy函数的作用和用法函数说明函数参数函数用法实例手动写strcpy函数strcpy注意事项strcpy函数模型char * strcpy( char * strDestination, const char * strSource );函数头文件:string.hstrcpy函数的作用和用法函数说明strcpy函数将strSource(包括终止null字符)复制到由strDestination指定的位置复制或追加字符串时不执行溢出检

2021-09-07 16:19:37 366 19

原创 qsort()函数详解

qsort函数详解qsort函数原型qsort函数的作用及用法qsort函数的参数qsort函数实例qsort排序一个整型数组qsort排序一个结构体用冒泡排序模拟一个qsort函数qsort函数原型void qsort( void * base, size_t num, size_t width, int (__cdecl * compare )(const void * elem1, const void * elem2 ) );qsort函数的作用及用法qsort()函数的功能是

2021-09-01 19:37:27 469 15

原创 浮点型的数据存储

浮点型的额数据存储我们先看一份简单的代码:有哪些浮点型浮点型的存储规则详细解读IEEE 754规定我们先看一份简单的代码:#include <stdio.h>int main(){ int n = 6; float* pFloat = (float*)&n; printf("n的值为:%d\n", n); printf("*pFloat的值为:%f\n", *pFloat); *pFloat = 6.0; printf("n的值为:%d\n", n); prin

2021-08-28 14:39:32 483 10

原创 C语言实现扫雷游戏(一步步教你如何写扫雷)

扫雷游戏使用工具一、基本思路和流程1. 扫雷游戏的游戏规则2. 代码实现思路二、实现步骤(具体步骤)1. 使用多文件形式2. 代码实现定义各个难度等级的棋盘大小和雷的数量定义全局变量游戏规则界面菜单界面选择实现选择难度界面初始化和打印棋盘棋盘初始化棋盘打印棋盘存放雷排查放雷三、整体游戏流程附上所有代码test.c 文件game.h 文件game.c 文件使用工具Visual Studio 2019一、基本思路和流程1. 扫雷游戏的游戏规则1. 在已经准备好的棋盘中,找出所有没有设有雷的位置,

2021-08-17 16:05:50 7610 22

原创 C语言实现三子棋(井字棋)

C语言实现三子棋使用工具基本思路和流程三子棋游戏规则代码实现思路实现步骤(具体步骤)使用多文件形式代码实现菜单界面选择实现初始化和打印棋盘棋盘使用宏定义(重点)初始化棋盘打印棋盘玩家下子玩家下子会遇到的问题电脑下子电脑下子会遇到的问题判断结果采取返回值(char 型)整体游戏流程附上所有代码test.c文件game.h文件game.c文件使用工具Visual Studio 2019基本思路和流程三子棋游戏规则`在3X3的棋盘里,率先将三个棋子连成一条直线则胜出代码实现思路菜单界面:选

2021-08-14 10:37:34 1567 9

原创 什么是递归,带你了解递归!!

递归函数什么是递归?递归的两个必要条件练习①接收一个整形值(无符号),按顺序打印它的每一位。例如:输入: 1234, 输出: 1 2 3 4②编写函数不允许创建临时变量,求字符串长度。递归与迭代练习①求n的阶乘(不考虑溢出)②斐波那契什么时候用递归?什么是递归?程序调用自身的编程技巧称为递归(recursion)递归作为一种算法在程序设计语言中广泛运用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求

2021-08-10 19:46:08 8165 9

原创 自己动手写一个strlen()函数

strlen()函数:strlen所作的是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符’\0’为止,然后返回计数器值(长度不包含’\0’)。那么我们就来尝试一下自己动手写一个strlen函数。方法一:#include <stdio.h>#include <assert.h>int my_strlen(const char* s){ char* p = s; assert(p

2021-08-02 17:21:35 1645

原创 数据的存储,大端存储和小端小端存储

在数据的存储中,有两种存储形式,大端存储和小端存储。所有的数据都是在内存当中存的,而内存当中的基本单位是字节。数据访存的基本单位是字节的话,那么一个整形变量(int)就有四个字节,那么就意味着数据在存储过程中会被划分为四块。数据按照字节序为单位,也有高权值位,低权值位之别的。按空间来划分的话,有高地址,低地址之分。两种存储方案:大端:按照字节位单位,低权值位数据存储在高地址处,就叫做大端;小端:按照字节位单位,低权值位数据存储在低地址处,就叫做小端。我们以 int a = -10 为例:

2021-07-27 16:48:34 6550 5

原创 洛谷P1002过河卒(python)

题目描述棋盘上 A点有一个过河卒,需要走到目标 B 点。卒行走的规则:可以向下、或者向右。同时在棋盘上 C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。棋盘用坐标表示,A 点 (0, 0)、B 点 (n,m),同样马的位置坐标是需要给出的。现在要求你计算出卒从 A 点能够到达 B 点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马走一步。输入格式一行四个正整数,分别表示 B 点坐标和马的坐标。输出格式一个整数,表示所有的路径条数。

2021-04-29 11:07:26 2042 1

原创 蓝桥杯【2019】迷宫(python)

题目描述下图给出了一个迷宫的平面图,其中标记为1 的为障碍,标记为0 的为可以通行的地方。010000000100001001110000迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到这个它的上、下、左、右四个方向之一。对于上面的迷宫,从入口开始,可以按DRRURRDDDR 的顺序通过迷宫,一共10 步。其中D、U、L、R 分别表示向下、向上、向左、向右走。对于下面这个更复杂的迷宫(30 行50 列),请找出一种通过迷宫的方式,其使用的步数最少,在步数最少的前提下,请

2021-04-28 16:04:55 1027 5

原创 蓝桥杯基础练习题BASIC-12—十六进制转八进制(pyhton)

资源限制时间限制:1.0s 内存限制:512.0MB问题描述  给定n个十六进制正整数,输出它们对应的八进制数。输入格式  输入的第一行为一个正整数n (1<=n<=10)。  接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式  输出n行,每行为输入对应的八进制正整数。【注意】  输入的十六进制数不会有前导0,比如012A。  输出的八进制数也不能有前导0。样例输入  2  39  

2021-04-18 21:29:58 156 2

原创 洛谷P1015回文数(python)

题目描述:若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。例如:给定一个十进制数 5656,将 5656 加 6565(即把 5656 从右向左读),得到 121121 是一个回文数。又如:对于十进制数 8787:STEP1:87+78=16587+78=165STEP2:165+561=726165+561=726STEP3:726+627=1353726+627=1353STEP4:1353+3531=48841353+3531=4884在这里的一步是指进行了

2021-04-07 19:35:11 921 3

原创 用python证明在一定范围内哥德巴赫猜想的正确性

哥德巴赫猜想是说任何一个大于2的偶数都能表示成两个素数之和。  下面将用python来证明哥德巴赫猜想在一定范围内的正确性。 例如输入10,那么输出的结果为

2021-03-30 22:15:39 1565 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除