
学习
文章平均质量分 80
庸人冲
一个庸人,自学编程,没有天赋,只有努力。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
利用递归和回溯解决八皇后问题
前言本文解题思路来自于b站up懒猫老师的 懒猫老师-C语言-递归函数-八皇后问题(搜索,回溯)这个老师讲的特别细,有兴趣的可以去看看,相信一定能获得比本文更大的收获。八皇后问题在8×8格的国际象棋上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法?高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。如果经过±90度、±180度旋转,和对角线对称变换的摆法看成一类,共有42类。计算机原创 2021-09-05 11:10:59 · 338 阅读 · 0 评论 -
数据结构 -- 队列
文章目录什么是队列队列的顺序存储方式循环队列代码实现循环队列的顺序存储结构判断队列是否已满判断队列是否为空向队列中添加元素删除队列中的元素获取队头元素获取队列元素个数遍历元素整体代码什么是队列队列(queue)是只允许在一端进行插入操作,而另一端进行删除操作的线性表结构。队列是一种先进先出的(First In First Out)的线性表,简称FIFO,允许插入的一段称为队尾,允许删除的一段称为队头。假设存在队列 q=(a1,a2,a3…an), 则a1为队头元素,an为队尾元素,删除时总是删除原创 2021-08-30 18:11:23 · 9010 阅读 · 9 评论 -
C语言学习 -- 函数栈帧的创建和销毁
前言在学习C语言的过程中,大家是否会存在一些困惑?比如:局部变量是如何创建的?为什么说局部变量未初始化时,其中存储的时随机值?函数到底时如何传参的?实参传递的顺序又是怎样的?形参和实参之间有着什么关系?函数调用结束后,结果是如何返回的?这些问题大家有没有感觉到,貌似每天都在接触,但是真要去解答这些问题,还真不知道怎么去回答。不过各位同志切莫慌张!本文将会详细讲解函数栈帧的创建与销毁的过程,通过观察整个过程,以上的这些问题都能得到答案。函数栈帧是什么?栈这个名词相信学习过C语言或者数据原创 2021-08-15 12:40:29 · 900 阅读 · 6 评论 -
C语言学习 -- 整型与浮点型在内存中的存储
文章目录数据类型介绍内置数据类型整形浮点型自定义类型(构造类型)指针类型空类型类型的意义整形在内存中的存储原码、反码、补码概念无符号数有符号数正数负数为什么存储的是补码?大小端概念举例二进制`10000000`的意义浮点型在内存中的存储二进制浮点数的表示形式十进制浮点数与二进制浮点数转换的规则存储方式有效数字M的规定:指数E的规定数据类型介绍C语言类型分为两类:内置类型:C语言本身就有的类型。自定义类型(构造类型)。内置数据类型内置数据类型又可以划分为整型和浮点型,char类型底层存储的AS原创 2021-08-13 10:46:57 · 1545 阅读 · 4 评论 -
Java学习 -- 面向对象总结(脑图)
原创 2021-08-07 22:43:29 · 216 阅读 · 0 评论 -
编程题--调整奇偶顺序
题目输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位位于数组的前半部分,所有偶数位位于数组的后半部分。解题思路数组中不是奇数就是偶数,既然要求奇数在前,偶数在后,那么可以从数组两边开始比对,分四种情况讨论:左边的数为奇数,右边的数为偶数,此时符合题目条件则不需要交换两个数,左边的指针右移动,右边的指针向左移动,继续比对下一组。左边的数为奇数,右边的数为奇数,此时右边的数需要交换到左边,但是左边也是奇数,所以左边指针向右移动,继续和右边的数比对。左边的数为偶数,右边原创 2021-08-05 12:31:19 · 308 阅读 · 0 评论 -
C语言版扫雷(纯代码)
简介游戏的通过game.h、game.c 和test.c三个文件协同实现,因为最近时间比较紧张,暂时先把代码贴出来,希望能帮到有需要的小伙伴,同时也代码中也存在不足的地方,还请求各位大佬批评指正。game.h 文件#pragma once#include <stdio.h>#include <stdlib.h>#include <time.h>#define ROW 9 // 棋盘显示的行数#define COL 9 // 棋盘显示的列数#defi原创 2021-07-28 19:46:09 · 402 阅读 · 0 评论 -
Java实现三子棋小游戏
文章目录# 前言三子棋介绍三子棋规则具体实现测试类棋盘类属性方法概述完整代码用户类属性方法概述完整代码电脑类属性方法概述完整代码工具类属性方法概述完整代码# 前言之前在学习C语言的时候,做过一个三子棋的小游戏,最近开始学习Java,就想着能不能用Java再把之前的练习重新实现一边,既然有这个想法了,那就开始行动啦~。再写的过程中,能感觉到面向过程语言和面向对象语言的一些差异。最让我头疼的是类的设计,感觉不仅得考虑功能得实现,还需要考虑类之间得逻辑关系,函数的功能是单一的,但函数与函数之间谈不上什么关系原创 2021-07-27 18:45:08 · 2297 阅读 · 2 评论 -
C语言学习 -- 指针
指针概述指针是什么?指针,是C语言中的一个重要概念及其特点,指针就是内存地址,指针变量是用来存放内存地址的变量,不同类型的指针变量所占用的存储单元长度是相同的,而存放数据的变量因数据的类型不同,所占用的存储空间长度也不同。有了指针以后,不仅可以对数据本身,也可以对存储数据的变量地址进行操作。指针是一个占据存储空间的实体在这一段空间起始位置的相对距离值。在C/C++语言中,指针一般被认为是指针变量,指针变量的内容存储的是其指向的对象的首地址,指向的对象可以是变量(指针变量也是变量),数组,函数等占据存原创 2021-07-24 11:03:29 · 344 阅读 · 0 评论 -
数据结构 -- 静态链表代码实现(总结)
静态链表是利用数组代替指针来描述单链表,数组的每一个元素都由两个数据域组成,data和cur。data用来存放数据,cur用来存放下一个元素的在数组中的下标,cur也被称作游标。此外整个链表也被逻辑划分为两个部分:已使用链表和备用链表,我们对数组的首元素和尾元素进行特殊处理,不存数据。首元素的cur中存放备用链表第一个元素的下标;而尾元素的cur中存放已使用链表的第一个元素的下标,当尾元素cur为0时说明链表为空。当链表有存储数据时,已使用链表中的最后一个元素的cur为0。特点静态链表利用游标来原创 2021-07-24 10:53:17 · 410 阅读 · 0 评论 -
c语言学习--数组
文章目录一维数组一维数组的创建和初始化数组的创建变长数组数组的初始化不完全初始化字符数组内赋整型不指定元素个数数组未初始化指定初始化器一维数组的使用数组元素赋值下标越界一维数组在内存中的存储二维数组二维数组的创建和初始化二维数组的初始化列数不可以省略二维数组的使用数组赋值二维数组在内存中的存储数组与指针数组和指针的关系数组名和指针变量的区别数组在函数中的使用指针表示法使用单目操作符`+` `-`使用解引用操作符`[]`"数组"表示法两种表示方法的关系传递数组大小将数组大小以参数传递传递数组首元素地址和数组结原创 2021-06-26 13:42:55 · 1273 阅读 · 2 评论 -
C语言学习-函数
文章目录函数介绍函数是什么?为什么使用函数?C语言函数的分类库函数C语言常用的库函数头文件利用文档学习举例自定义函数函数的组成举例函数的使用函数声明函数调用传值调用传址调用两种调用的使用时机函数定义函数声明的使用场景函数的参数实参形参练习函数实现判断素数函数实现 判断闰年函数实现 整型有序数组二分查找(重要)写一个函数,每调用一次这个函数,num+1函数的嵌套调用和链式访问嵌套调用链式访问函数介绍函数是什么?函数是一个大型程序中的某部分代码,由一个或多个语句块组成。它负责完成某项特定任务,而且相较于原创 2021-06-16 14:12:50 · 534 阅读 · 3 评论 -
C语言学习--分支和循环语句
文章目录语句结构顺序结构分支(选择)结构if 语句if举例if else举例if else if ... else举例悬空else 问题if 书写形式对比例一例二练习判断一个数是否为奇数输出1~100之间的奇数switch语句语法举例练习代码分析循环结构while循环语法举例break和continue注意while循环的一些实际应用getchar(void)返回值:putchar(int_char)返回值EOF举例解释代码1for循环for循环的优势语法举例break和continue注意for循环的一些原创 2021-06-11 19:05:56 · 492 阅读 · 3 评论 -
C语言学习--初始C语言04
文章目录指针内存内存的地址如何产生的?指针变量指针变量的大小结构体创建结构体类型的方法结构体类型创建指针变量结构体中的字符数组成员需要用strcpy() 来修改内容指针介绍指针前,先简单介绍内存内存内存是电脑上特别重要的存储器,计算机中所有程序的运行都是在内存中进行的 。所以为了有效的使用内存,j将内存划分成一个个小的内存单元,每个内存单元的大小是1个字节。为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址。内存的地址如何产生的?32位原创 2021-06-09 09:15:50 · 339 阅读 · 6 评论 -
C语言学习--初始C语言03
文章目录语句顺序结构分支(选择)结构分类循环结构分类函数库函数自定义函数数组数组声明数组初始化数组下标打印数组操作符算数操作符移位操作符位操作符按位与&按位或 |按位异或^赋值操作符单目操作符!逻辑反操作sizeof~ 按位取反分析计算过程原码,补码,反码的概念自增++自减--前置++、前置--后置++、后置--强制类型转换关系操作符逻辑符操作符逻辑与 &&条件操作符(三目操作符)逗号表达符下标引用、函数调用和结构成员下标引用操作符[]函数调用操作符()常见关键字autoregist原创 2021-06-08 10:05:26 · 270 阅读 · 8 评论 -
C语言学习--初始C语言01
一个编程菜鸟的自学C语言笔记day1刚刚入门学习编程,目前在学C语言,整理一下自己的学习笔记吧,同时也把自己在学习中遇到的一些坑记录下来,希望能帮到在自学中遇到同样问题的小伙伴,如果文章中有存在问题的地方,还恳请各位大佬批评指正。下载VS2019,安装时却是VS2017的一种解决方法。在第一次安装VS时,就遇到了一个小问题,自己在官网下载的明明是vs2019,安装时显示的却是vs2017,在网上查阅后,有一种简单的解决办法,碰到类似问题的小伙伴可以参考一下。在官网下载Professioanl 版本原创 2021-06-03 09:43:56 · 875 阅读 · 0 评论 -
C语言学习--初始C语言02
这里写目录标题常量、变量变量声明变量的方法变量的分类全局变量局部变量变量的作用域和生命周期局部变量全局变量常量字面常量const 修饰的常变量#define 定义的标识符常量枚举常量字符串、转义字符、注释字符串创建字符串数组单引号和双引号的区别ASCII 表常量、变量变量变量,可变的量。变量是用来存储数据的容器。使用变量前需要先声明变量,声明变量就是在向内存申请空间用来存放值。声明变量的方法声明单个变量int main(){ // 每种数据类型声明变量的方式; char c原创 2021-06-06 07:58:09 · 767 阅读 · 9 评论 -
JS学习--利用javascript创建元素的4种方法
文章目录先总结4种方法1. document.write();2. element.innerHTML3. document.creatElment()4. 采用数组创建的方式遇到的问题这个知识点学习也有几天了,今天在做轮播图效果时被坑了一下耽误了很长时间,所以从重新在总结巩固一下。先总结4种方法1. document.write();var btn = document.querySelector('button'); btn.onclick = function () {原创 2021-06-04 20:04:04 · 5389 阅读 · 0 评论