- 博客(12)
- 收藏
- 关注
原创 useReducer
useReducer 是 useState 的替代方案。当 useState 不能很好的满足需要的时候,useReducer 可能会解决我们的问题
2023-08-31 21:33:31 150
原创 P1706 全排列问题
文章目录代码如下(示例):代码如下(示例):#include<stdio.h>int n;int a[20], b[20];//a数组判断该数是否用过,b数组用来存放排列好的数void dfs(int data){ if (data > n)//判断输出条件 { for (int i = 1; i <= n; i++) { printf("%5d", b[i]); } printf("\n"); } for (int i = 1; i
2022-05-27 23:01:43 68
原创 八皇后--深入理解深度优先搜索
文章目录一,深度优先搜索1.基本概念2.搜索步骤3.基本模板二、P1219 [USACO1.5]八皇后 Checker Challenge代码如下(示例):一,深度优先搜索1.基本概念深度优先搜索算法(Depth First Search,简称DFS):是一种用于遍历或搜索树或图的算法。 沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所在边都己被探寻过或者在搜寻时结点不满足条件,搜索将回溯到发现节点v的那条边的起始节点。整个进程反复进行直到所有节点都被访问为止。属于盲目搜索,最糟糕的情
2022-05-27 22:30:16 344
原创 深度了解异或运算
文章目录前言一、什么是异或运算?二、应用1.数组异或操作( a ^ b = c, a ^ c = b, b ^ c = a的应用)2.只出现一次的数字(x ^ 0 = x, x ^ x = 0的应用)3.丢失的数字( a ^ b ^ b = a ,x ^ 0 = x, x ^ x = 0的应用)前言很多题目用正常的思路解题会很复杂,但是用异或运算会快速解决问题,所以这一次我们来深入学习异或运算。一、什么是异或运算?1.定义:异或,是一个数学运算符,英文为exclusive OR,缩写为XOr,应
2022-05-20 17:04:55 4622
原创 栈的基本操作及其应用
文章目录一、栈的基本概念二、栈的基本操作1.创建一个栈2.初始化栈3.销毁栈4.判定S是否为空5.求栈的长度6.取栈顶元素7.遍历打印栈8.入栈操作9.出栈操作三,完整代码四,栈的应用一、栈的基本概念栈(stack)是限定仅在表尾进行插入和删除操作的线性表我们把允许插入和删除的一端成为栈顶,另一端为栈底,不含任何数据元素的栈称为空栈。特点是“先进后出(LIFO结构)”二、栈的基本操作1.创建一个栈代码如下(示例):#include <stdio.h>#include &l
2022-05-15 15:22:03 3774 1
原创 关于单链表的操作
文章目录前言一、关于链表的创建二、单链表的应用1.删除排序链表中的重复元素2.判断相交链表3.反转链表4.合并两个有序链表主函数(包含以上所有函数)5.回文链表(不带头节点)前言链表的基本操作思路都不难,但是函数很多,在学习的过程中也不能只敲函数,还要多联系完整版的链表,要有输出,今天就教大家写完整版的代码啦。还有我在学习链表的时候遇到的困难,也帮大家避雷啦。一、关于链表的创建#include<stdio.h>#include<stdlib.h>typedef st.
2022-05-09 13:59:30 517
原创 关于快速排序
目录关于快排的一些知识qsort函数调用例题讲解一、快排的一些知识基本思想1.选定pivot中心轴2.将大于pivot的数字放在pivot的右边3.将小于pivot的数字放在pivot的左边4.分别对左右子序列重复前面的操作算法实现:#include<stdio.h>void quicksort(int a[], int start, int end){ int i = start, j = end; //定义两个指针指向数组的首位两个数 int
2022-05-01 21:01:30 1049
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人